La visione Cloud OS di Microsoft ha maggiormente senso se inserita in un contesto più ampio dell’attuale, ossia quello che vede la società di Ballmer abbandonare il suo ruolo di semplice fornitore di software trascinando nel cambiamento l’intera industria della tecnologia. I prodotti core come Office e Windows, sono ora forniti e aggiornati online come servizi, e la società sta sperimentando la transizione da fornitore di soluzioni software on-premise verso una figura di vendor di servizi e device. Un cambiamento che sta avvenendo in tempi sorprendentemente veloci e all’insegna dell’efficienza.
Siamo rimasti tutti un po’ scioccati da quanto Microsoft ha fatto con Windows 8, la sua linea di prodotti consumer e in generale le tecnologie client-oriented. Questo stupore ci ha forse fatto dimenticare che il nuovo Windows nasce da subito come parte di un trend più esteso e importante. Ossia quello secondo il quale i prodotti software tradizionali e le soluzioni on-premise stanno per essere rimpiazzati da servizi online accessibili a velocità crescente.
Si consideri Windows 8 e Office 2013, due degli annunci di più alto profilo fatti nel corso di quest’anno. Entrambi sono emblematici di questa transizione poiché possono essere acquisiti nelle modalità tradizionali ma anche come servizi. Oggi gli utenti Windows possono aggiornare facilmente e gratuitamente Windows 8 mediante un programma di installazione web-based che include più funzionalità rispetto alla tradizionale formula del package di upgrade a pagamento del canale retail. E anche Office 2013 è fornito via web attraverso Office 365, che contempla nuove regole di licenza che consentono agli utenti di installare il software su fino a 5 tra PC e device.
Sia Windows 8 che Office 2013, così come altri prodotti come Visual Studio 2012, verranno aggiornati su basi continuative, esattamente come i servizi Office 365 e Windows Intune, anziché periodicamente. Certamente il device locale che gestirà questo software dovrà essere sempre lo stesso. Ma il modo in cui sono proposti e si aggiornano questi device cambierà drammaticamente.
Questo trend verso i servizi si estende anche ai nostri dati. Dopo anni di escalation verso hard drive sempre più potenti, i moderni device escono dalle fabbriche con minore capacità locale di storage, per lo più allo stato solido. Basta guardare a quello che è successo ad alcuni computer portatili che, dopo avere raggiunto livelli di dimensione degli hard drive da oltre 500GB, hanno imboccato una strada opposta fino a posizionarsi su valori medi di 128 GB nel giro di pochi anni. Oggi i nuovi device Windows 8 e Windows RT, come Surface, si propongono con una memoria flash da 32 GB a 64GB. La ragione? I nostri dati saranno memorizzati sulle nuvole, sincronizzati sul device e accessibili quando si desidera.
Anche se in qualche area del mondo le connessioni lasciano ancora a desiderare, la combinazione tra sofisticati servizi online e device molto semplici è uno tsunami che non può essere fermato.
Dentro il Cloud OS
Dal lato server, Microsoft oggi offre prodotti Windows Server tradizionali e Windows Azure, con se sue capacità di Infrastructure as a Service (IaaS) e Platform as as Service (PaaS). È risaputo che Windows Azure è influenzato e nello stesso tempo si avvale di Windows Server. Ma Azure si è anche evoluto e maturato in un modo diverso da quello dei server on-premise, come il fermo del sistema che di fatto non è permesso. Inoltre la evoluzione di Azure ha, per la prima volta, in ambito Windows Server 2012, un impatto sulle soluzioni on-premise di Microsoft.
Al momento, tuttavia, ci troviamo a metà della transizione, che ha i suoi tempi e non si realizza tagliando i vecchi modi di fare e costringendo i clienti ad abbracciare il cambiamento. Questo è forse più pertinente al mercato dei server e a come le aziende operano in linea di massima, di quanto non sia con i prodotti consumer.
Sebbene il passaggio di Microsoft a un offering basato sui servizi sia eccitante a certi livelli, il maggiore elemento di forza della società in questa transizione è di non avere abbandonato i tradizionali sistemi di delivering del software. Come dire che in aggiunta ai servizi, Microsoft ha continuato a investire in modo tradizionale nei propri server: Windows Server, System Center, SQL Server e Exchange Server, ingegnerizzando questi prodotti per lavorare all’occorrenza in un ambiente ibrido, interagendo con i servizi online.
L’obiettivo per Microsoft è quello che si chiama Cloud OS. Un nome per certi aspetti sfortunato perché Microsoft non ha prodotti e servizi che si chiamino così. Ma il punto dietro a Cloud OS, per come lo interpreto io, è che esso è un punto fermo e una indicazione che Microsoft intende abbracciare completamente detta transizione ai servizi e applicarla al mondo dei server.
Nella comunicazione inizialmente diffusa nel giugno 2012 sul Cloud OS, Satya Nadella, il presidente Server and Tool di Microsoft, notava che l’unità di astrazione hardware che un server OS gestisce ha raggiunto il livello DC. Questo significa che il server OS, sia esso un Windows Server e un System Center visti in questo scenario, non gestiscono un solo server ma un set di server.
Ciò ha ramificazioni fisiche – DC versus server – ma anche ramificazioni gestionali. E se avete familiarità con Windows Server 2012, comprenderete che una delle caratteristiche core della release è la globalità di questa filosofia. In altri termini la possibilità di essere usata per gestire simultaneamente molteplici server allo stesso tempo.
È corretto dire che i futuri aggiornamenti di Windows Server (e System Center) si espanderanno proprio su questa funzionalità. E sebbene un OS trovi per lo più installazione localmente su server individuali, l’intelligenza ad alveare di quell’OS lo irraggerà oltre quel singolo sistema. Windows Server, in altri termini, diventa il fondamento della visione Cloud OS di Microsoft.
Ho parlato di Cloud OS con l’ingegner Jeffrey Snover, che mi ha spiegato che il Cloud OS sarà una pietra miliare nel futuro della società: “Non è più come avere un server singolo ma bisognerà assumere una mentalità da data center”,
Egli compara questo lavoro a quello fatto inizialmente su Windows NT, con la creazione di un layer di astrazione hardware, HAL, che permetteva allo stesso OS di gestire piattaforme incompatibili come Intel x86 e MIPS. “L’HAL era il misconosciuto eroe dell’ecosistema Intel x86. E ora stiamo facendo la stessa cosa con il data center, un DHAL se volete”.
Bill Hilf, general manager di Azure, mi ha detto che i clienti vogliono una infrastruttura omogenea e ripetibile. “La nostra unità di deployment, dice, è un cluster di 1000 server in un’unità. Un fabric controller orchestra i server, ed è sbagliato pensare a un singolo server”.
Hilf ha osservato che l’esperienza Microsoft con Azure ha portato a un “ciclo virtuoso” – ovvero a un feedback loop che va in entrambe le direzioni – nel caso di miglioramenti in Azure che sono stati trasferiti a prodotti come Windows Server 2012 e System Center 2012. “Noi oggi sappiamo come riparare migliaia di server senza che il servizio venga meno. Lo chiamiamo, ha detto, cluster-aware patching, che significa automatizzare il patching di tutti gli host. Quando trasferite i concetti del cloud su larga scala ai vostri prodotti server, tutto ciò diventa realistico e tangibile per i clienti”.
Il ciclo virtuoso: da Azure a Windows Server 2012
Intrigato da questo stile di sviluppo, ho parlato con Mike Schultz general manager della Divisione Server e Cloud di Microsoft, che mi la fornito alcuni approfondimenti sul ciclo virtuoso. Lo sviluppo del prodotto, ha detto, è un problema interessante. Ritracciando per una decina di anni le release di Windows Server, si scopre che Microsoft ha sempre dialogato con clienti e partner, chiedendo loro quali cambiamenti e feature avrebbero desiderato vedere introdotti. Ma spesso i clienti non sapevano cosa effettivamente potevano ottenere. “Come potete costruire una bicicletta se non ne avete mai cavalcata una?” si è chiesto. “Il nostro team di engineering sa quello che occorre per gestire una cloud pubblica su larga scala e che la progettazione di prima mano, con i relativi problemi naturalmente, tocca a noi, come abbiamo sperimentato con Windows Server 2012”.
Schutz ha menzionato anche il concetto di cluster-aware patching, per evidenziare che la maggior parte dei clienti di Microsoft non ha dimensioni sufficienti per trarre vantaggio da questa funzionalità. Questo non significa che il concetto non sia valido; i clienti posso trarre vantaggio da tali feature presenti in Windows Server a un livello più piccolo. Le capacità, per esempio, sono adatte per patch di entità più piccole, come i nodi, mentre garantiamo che il servizio che stiamo presentando internamente ai clienti operi alla stregua di un servizio online.
L’automazione è un altro esempio. Non vi dovrebbe essere sfuggito il fatto che Microsoft si sta dando molto da fare per spingere, in Windows Server 2012, le capacità di automazione PowerShell-based. “L’ubiquità dell’automazione è un principio di base” ha detto Schutz. “Vogliamo essere in grado di automatizzare ogni cosa. Con PowerShell, amministratori, partner e chiunque altro, possono in ultima analisi fare uso di queste capacità con i loro tool. È una grande opportunità”. Poi c’è il networking. Nei servizi hosted, DC e server ospitano un gran numero di clienti, cosicché la multi-tenancy è un requisito da rispettare. La maggior parte delle imprese sentono parlare di “risorse condivise” e perdono interesse, mentre per Schutz, la multi-tenancy ha invece senso in questo mercato. “Pensate all’attività di fusioni e acqusizioni oppure alla incorporazione di una azienda con una differente infrastruttura di rete”. “Oppure cosa dire di HR e finanza che sono fondamentalmente due mercati diversi? Avete bisogno di una infrastruttura condivisa coerente”.
A questo riguardo Windows Server 2012 introduce un concetto chiamato Software-Defined Networking (SDN): permette di condividere infrastrutture di rete isolate, dove le reti logiche sono astratte dalla rete fisica sottostante. “Questa è la più grande singola trasformazione del data center a cui abbiamo assistito – ha aggiunto Schutz – Lo abbiamo fatto con Azure, lo stiamo facendo con Server 2012”
Mi è anche piaciuta la definizione di Schutz di cloud computing come insieme di servizi, management a automation, una definizione che rispecchia la discussione che ho avuto alcune anni fa con Jeff Woolsey, Server principal group program manager. “Il messaggio è semplice: voi non potete pensare più a un server, siete morti se lo fate. Pensate invece all’intero DC come a un computer, o quello che noi chiamiamo una unit of computer”.
Il futuro di questo è un software intelligente capace di lavorare su hardware standardizzato; un software in grado di reindirizzare automaticamente in caso di guasti e mantenere sempre attivi i servizi. Qualcosa di questo appartiene all’evoluzione dove la elasticità del sistema è nel layer software anziché in quello hardware.
“Il protocollo SMB è oggi elastico ai guasti dell’hardware , cosicché le app non devono necessariamente esserlo – ha detto Woolsey – Non abbiamo quindi bisogno di realizzare app realmente intelligenti. L’OS sa cosa fare”.