Nuvole liquide: la continua evoluzione del cloud

Ormai il cloud è una realtà assodata. Nessuno più si stupisce quando vengono fatte presentazioni del perché migrare al cloud, con le sue promesse di affidabilità, velocità e flessibilità; però forse non tutti si stanno rendendo conto della velocità a cui il cloud si (r)innova, e delle possibilità sempre nuove che offre.

All’inizio fu Amazon EC2 (2006, ben 13 anni fa!), il primo esempio di IaaS – sostanzialmente: macchine virtuali in remoto. Due anni dopo (pur sempre 11 anni fa!) ecco arrivare sulla scena Google, con il primo PaaS (Platform as a Service), Google App Engine, un Application Server grande come… il mondo. Il concetto logicamente successivo non poteva che essere il DBaaS (Database as a Service): per rendere la persistenza dei dati un servizio quanto più possibile “chiavi in mano”. Infine, la novità (relativa) del Serverless: lungi da non avere un server, permette l’esecuzione di piccole unità di codice (funzioni) a fronte di eventi, in maniera estremamente scalabile e cost-effective.

Oggigiorno il panorama del cloud mondiale ha assimilato queste basi e le ha superate… davvero di slancio, in uno scenario in cui ci sono 3 supplier principali in un panorama atipico: Amazon ha circa un terzo dello share, Microsoft e Google un altro terzo, e il rimanente terzo è appannaggio di una pletora di altri provider minori e non-così-minori (IBM e Alibaba superano comunque il 3%)*. Differenziarsi e innovare, in uno scenario così frammentato, è fondamentale; e questo a sua volta purtroppo promuove la frammentazione dei servizi. E così è davvero difficile orientarsi nei 167 servizi di AWS (circa, potrei aver perso il conto), figurarsi se si allarga la “visione” anche solo a Google e Microsoft…

cloud_market_share

Certo, la maggior parte di questi servizi è un po’ “di settore”, ovviamente spaziando su argomenti non esattamente universali (anche se intelligenza artificiale e, in misura minore, blockchain, per nominarne due, hanno un futuro certamente roseo e… pervasivo!). Non occorre conoscerli tutti in dettaglio! Invece, probabilmente è il caso di impratichirsi con il fenomeno sempre più in crescita dei servizi basati sui container, perché – tra i mille vantaggi – permettono di superare in un certo senso uno scoglio fondamentale contro cui tutti prima o poi si scontrano: migrare da un service provider a un altro, e magari installando al contempo anche on premises.

Tali servizi – basati generalmente su Docker e Kubernetes – rappresentano già di per sé un “giusto mezzo”: più potenti del PaaS, ma più leggeri del IaaS, i container permettono di “impacchettare” le proprie applicazioni in un formato perfettamente indipendente e portabile tra diversi provider. E nessuno vieta – anzi! – di installare tali container anche su un server on premises, come dicevamo.

Proprio per queste potenzialità – e molte altre – questo tipo di sistemi ha visto un’adozione molto rapida: oggigiorno è un componente imprescindibile di uno stack di sviluppo. Gli ambienti di compilazione automatica possono produrre direttamente un container, che può essere “inviato” in test e poi in produzione senza dover effettuare operazioni manuali (a volte rischiose). Esistono sistemi di “orchestrazione” di container, che permettono di gestire le dipendenze tra (micro?)servizi e di aggiornare le versioni applicative senza interruzioni di servizio; e così via.

Il fatto che questi trend siano, come detto, trasversaliDocker è Open Source, Free Software si basa pesantemente su Linux – ha fatto sì che al settorialismo del cloud dei primi anni sia subentrato un certo “multiculturalismo” pragmatico, e questo è un fatto estremamente positivo. Al recente Microsoft Ignite di Milano gli speaker aprivano console Linux su MacOS senza alcuna remora, e a nessuno sembrava strano che Windows fosse usato in meno della metà dei talk. E strano non è: l’importante è fornire un servizio, non fornirlo costringendo l’utente in parametri precisi.

Insomma, sempre più potenza e sempre meno vincoli – se il trend rimane questo, ci sarà da divertirsi!