Azure è – come abbiamo visto nei precedenti articoli – una piattaforma flessibile, veloce, solida, scalabile e aperta; è aperta perché consente di continuare ad utilizzare tutte le tecnologie che si adoperano in azienda o a livello professionale.
Con Azure non è necessario acquisire nuove competenze perché è possibile usare quelle che già si posseggono. Ecco quindi che i progetti realizzati con tecnologie non-Microsoft possono essere trasferiti senza problemi sulla piattaforma Azure.
Basti pensare che già oggi una macchina virtuale su quattro creata su Azure è Linux ed il dato è in continua crescita. Se in azienda o presso fornitori di servizi di hosting e housing terzi si utilizzassero macchine Linux, quindi, Azure offrirà pieno supporto per la loro migrazione.
Come abbiamo evidenziato nell’articolo Cos’è Azure, le principali caratteristiche, tra l’altro, Azure offre massime garanzie in termini di continua disponibilità e accessibilità dei dati. In occasione di un recente problema di routing che ha interessato il seabone (martedì 17 maggio 2016) ed ha impedito, dall’intero nostro Paese, per una buona fetta della giornata, il corretto raggiungimento dei server di Facebook, Google e l’utilizzo di molti servizi Microsoft come lo stesso Skype, i servizi erogati attraverso l’infrastruttura Azure sono sempre rimasti regolarmente fruibili.
Dal mese di luglio 2015 Azure non consente soltanto di trasportare sul cloud l’infrastruttura usata dai clienti (IaaS) ma supporta direttamente le principali distribuzioni Linux in modalità PaaS. Ciò significa che è la piattaforma stessa a farsi carico della preparazione ottimale di ciascuna macchina Linux non appena l’utente ne richiede il provisioning.
Distribuzioni quali Ubuntu, CentOS (OpenLogic), Oracle Linux, SUSE Linux Enterprise Server (SLES), OpenSUSE e CoreOS sono pienamente supportate in Azure così come lo sono linguaggi come PHP, Java, Ruby, Python, database relazionali e non quali MySQL, MariaDB, MongoDB, CouchDB e Cassandra, server web come Apache e Tomcat, framework e applicazioni web come WordPress, Joomla, Drupal e Magento.
Per quanto riguarda i database, Azure permette di utilizzarli in modalità IaaS ma li rende anche disponibili in modalità PaaS. MySQL, ad esempio, è offerto sia all’interno di macchine virtuali, sia in versione PaaS, ospitato su ClearDB.
Per non parlare poi dei vari pacchetti disponibili sul marketplace di Azure: citiamo ad esempio Hortonworks e Cloudera, due release di Apache Hadoop, tecnologia libera per l’elaborazione distribuita di grandi insiemi di dati.
Sul versante sviluppo, abbiamo detto che in Azure è possibile eseguire applicazioni PHP, Java, Ruby ma è interessante evidenziare già sin da ora che il programmatore può ricorrere anche a IDE come Eclipse (basta utilizzare l’apposito plugin).
Oltre ai prodotti citati, all’interno del marketplace di Azure, si può cercare tra oltre 1.000 immagini di soluzioni Linux sviluppate e mantenute dalla comunità che possono essere utilizzate su Azure. Basta citare un dato per evidenziare quanto il mondo opensource sia ormai parte della piattaforma Azure: il 60% delle immagini software presenti all’interno del marketplace di Azure si riferiscono proprio a progetti Linux.
Sul marketplace di Azure ci sono pacchettizzazioni non certificate da Microsoft che sono comunque state provate ed approvate dalla comunità confermandone il perfetto funzionamento.
Delle tantissime macchine virtuali presenti nel catalogo di Azure, quelle certificate da Microsoft sono sempre esplicitamente indicate. La piattaforma indica però anche le macchine virtuali che sono in procinto di ricevere una certificazione da parte della comunità e quelle che possono essere utilizzate attivando eventualmente il supporto messo a disposizione da soggetti terzi (in questo caso, ed è un “unicum” nel mondo del cloud, Microsoft svolgerà il ruolo di “intermediario”).
Azure è quindi largamente agnostico rispetto alla piattaforma: l’utente non è mai obbligato ad usare alcuna soluzione Microsoft e anzi può servirsi di tutti i software che è abituato ad usare.
La piattaforma Microsoft consente infatti di accedere ad un “mercato globale” avvalendosi di tutte le soluzioni software oggi disponibili. L’idea alla base di Azure è quella di fungere da “ponte” con qualunque genere di prodotto opensource, dal sistema operativo fino alla semplice applicazione web.
Azure è infatti capace di arricchire il valore delle soluzioni che l’utente già conosce e utilizza: è possibile eseguire qualunque applicazione in qualunque sistema operativo, utilizzando qualsiasi tipo di database.
Open cloud di Microsoft, ecco che cosa significa
È il biglietto da visita della “nuova Microsoft” che con l’arrivo di Satya Nadella ha fatto dell’apertura nei confronti del mondo opensource un suo “cavallo di battaglia”.
L’obiettivo è quello di democratizzare i core business: produttività e piattaforma. Rendere cioè utenti e clienti, attraverso l’impiego di Azure, in grado di migliorare la propria professionalità e produttività ottimizzando allo stesso tempo il contributo che le aziende offrono a loro volta agli utenti finali/clienti.
Con l’insediamento del CEO Nadella, l’atteggiamento di Microsoft è cambiato molto rispetto al passato. Se è vero che la società di Redmond collabora da circa 10 anni su diversi progetti ascrivibili al mondo opensource, con la precedente gestione questo tipo di attività non era propriamente in cima alla lista delle priorità.
Nadella ha contribuito a far compiere a Microsoft un deciso passo in avanti in termini di interoperabilità e competitività ed Azure è proprio la leva che è stata utilizzata.
Microsoft – ed è questa la nuova strategia della società – non desidera far cassa sulle soluzioni opensource ma collabora con l’ecosistema opensource per il miglioramento dei progetti che sono ritenuti cruciali per la crescita di Azure e per far compiere il “salto di qualità” agli utenti.
Microsoft sta quindi contribuendo al miglioramento del codice di molti prodotti opensource: tra quelli sui quali l’azienda ha investito ed intende continuare ad investire con maggiore convinzione vi sono senza dubbio Apache Hadoop e Docker.
Servizi strategici come quelli citati sono quindi destinatari di importanti investimenti da parte di Microsoft che poi li ospita sulla piattaforma Azure.
Secondo la nuova impostazione che Nadella ha impresso sulla nuova Microsoft, il cosiddetto “product mix“, ovvero la commistione di soluzioni opensource con strumenti “proprietari”. È la ricetta che Microsoft ritiene più efficace per offrire il meglio della tecnologia ai clienti/utenti.
Tutto è cominciato qualche anno fa con l’integrazione del supporto di PHP in IIS, in Windows. Un passaggio storico che già all’epoca segnò un cambio di passo davvero notevole. Più di recente il contributo che l’azienda ha offerto al progetto Hadoop e l’integrazione di versatili strumenti per il trattamento e l’analisi dei dati non strutturati in Azure hanno contribuito a far intendere le mire della nuova Microsoft.
L’asso nella manica di Microsoft si chiama “product mix”
La “visione” della nuova Microsoft è piuttosto chiara: oggi non è più possibile ragionare utilizzando insiemi chiusi, assolutamente impermeabili l’uno all’altro.
Il mondo opensource non deve essere visto come un’alternativa alle tecnologie Microsoft né queste ultime possono autoconfigurarsi come un territorio isolato dal resto del “pianeta software”. La visione di un’offerta opensource fatta scontrare frontalmente con le tecnologie più spiccatamente Microsoft è ormai largamente anacronistica.
Secondo Microsoft ogni ecosistema applicativo infrastrutturale sta sempre più divenendo uno scenario complesso che – per essere vincente – non può non essere un mix di tecnologie sia commerciali che opensource: dal CMS per i siti istituzionali, alle piattaforme di integration e code delivery, alle macchine virtuali per l’erogazione di applicativi custom e così via.
La soluzione migliore è spesso una “macedonia” fra l’uso di prodotti opensource e di soluzioni “commerciali”.
Con la piattaforma Azure, Microsoft rende concreta la sua visione e offre gli strumenti pratici per realizzare progetti, a vari livelli, che traggono il meglio dal mondo opensource e da quello delle soluzioni “proprietarie”.
Docker, punta di diamante in Azure
Abbiamo detto, in precedenza, che Azure supporta tutte le principali distribuzioni Linux. Non soltanto in termini di IaaS ma anche di prodotti utilizzabili in modalità PaaS.
Ubuntu, ad esempio, è stato abbracciato in Azure principalmente per la sua verticalizzazione con Docker, aspetto sul quale Microsoft ha investito e sta investendo molto.
Docker è un progetto opensource che automatizza la distribuzione delle applicazioni (deployment) all’interno di speciali contenitori software detti appunto container.
Più container possono coesistere all’interno di una stessa istanza Linux evitando così l’installazione e la successiva manutenzione di una tradizionale macchina virtuale.
I container di Docker forniscono un livello di astrazione aggiuntivo che grazie alla virtualizzazione a livello di sistema operativo Linux permettono di “pacchettizzare” un’applicazione e le sue dipendenze all’interno, appunto, di un contenitore virtuale eseguibile su qualunque server Linux e gestibile a sé.
Microsoft ha quindi integrato in Azure un Docker Hub all’interno del quale è possibile scaricare le immagini pacchettizzate Docker.
È questa un’area di immenso interesse per Microsoft che considera la containerizzazione delle applicazioni uno dei più importanti trend di sviluppo per il prossimo futuro.
Proprio su un progetto opensource come Docker si sta investendo molto anche in ambiente Windows: il sistema operativo Microsoft, infatti, sarà Docker Host e potrà quindi ospitare e gestire applicazioni containerizzate. Grazie all’integrazione con il Docker Hub di Azure si potrà lavorare su workload misti e quindi portabili in cloud così come on-premises, quindi – ancora una volta – nell’ottica ibrida sulla quale Microsoft tanto sta spingendo. L’applicazione containerizzata con Docker diventa così facilmente palleggiabile tra cloud e on-premises offrendo un grado di flessibilità mai visto prima.
Azure e l’utilizzo di soluzioni opensource sul versante applicativo
Dal punto di vista applicativo Azure vanta l’integrazione con le piattaforme commerciali Java IBM/SAP ma anche con i vari CMS opensource.
Si possono ad esempio usare installazioni PaaS, come website, di WordPress, Joomla, Drupal e Magento (quest’ultima nota e apprezzata piattaforma per l’e-commerce) e legare a doppio filo Moodle con Office 365 con l’obiettivo di creare virtual classroom.
Per quanto riguarda i servizi di analitica dei dati, anche predittiva, Azure aiuta ad effettuare la separazione dei dati strutturati e non dalla stessa identica interfaccia, usando le medesime modalità di query.
In tal senso, il supporto del già citato Hadoop come servizio è fondamentale in quest’ottica.
Su Azure è disponibile HDInsight che altro non è che un Hadoop-as-a-service.
Un’ulteriore dimostrazione di come l’offerta opensource sia messa al servizio degli utenti di Azure per realizzare quello che sarà “lo zoccolo duro” del PaaS di domani: il data-analytics-as-a-service.
Inviateci le vostre domande su Azure
Inviateci le vostre domande sulla piattaforma Azure pubblicando un commento in calce a questo articolo oppure via email all’indirizzo della redazione info@ilsoftware.it
Potete sottoporci qualunque tipo di quesito, richieste di approfondimento, delucidazioni sui temi trattati e proposte di argomenti da affrontare.