Per una somma di casi, chissà forse nemmeno troppo casuale quanto più consequenziale, ho ripreso in mano Docker e tutta la complicata galassia che ruota intorno a questo sistema di virtualizzazione.
Pare evidente, dal lato sistemistico, che la situazione attuale è vicina all'inizio di un nuovo ciclo. Constatando che quello in essere è durato, o per lo meno presumo che durerà, meno di quello che credessi.
Vmware si era fatto vedere a livello server verso la fine degli anni 2000, concepito da noi sistemisti più per testing che per la produzione. Nel 2005 mi ricordo che avevamo i server Blade ancora a 32 bit, per cui le perplessità non erano sbagliate. Poi all'inizio degli anni 10 con la forte spinta a 64 bit le cose sono cambiate velocemente. Nel 2014-15 era follia pensare di usare il cosiddetto bare-metal, cioè server = sistema operativo finale.
Oggi i Bare Metal si usano in condizioni piuttosto ricercate, dove si ha necessità pesante di spremere il 110% dal server per questioni prestazionali. Tuttavia, alcuni progetti le cui scelte erano state fatte non dal sottoscritto, l'utilizzo del server puro rispetto ad andare sul virtualizzato si sono fatte sentire. La virtualizzazione si porta dietro vantaggi non da poco.
Lo snapshot per fare un esempio su tutti; hai installato il sistema operativo pulito. In caso di errore successivo per installazioni che sono complesse, basta tornare indietro senza il classico "formattone riparatore". Ma anche nello sviluppo di applicazioni software, prima di fare il git pull uno snapshot di sicurezza, in qualche caso ha permesso il ripristino operativo in pochi minuti anziché ore, se non giorni.
Oggi però il cloud pesante, azure, oracle, amazon wms e google sono chiaramente orientati verso altro. La containerizzazione, parola astrusa e distorta oltre che amena per l'italiano. Docker porta il concetto della macchina virtuale come un container. Le immagini, pilotate opportunamente, possono creare appunto questi container che possono essere distrutti e ricreati in modo molto rapido.
E più che evidente che Docker asserve in modo quasi totale al software, mentre Vmware più ad un livello classico di DataCenter. Ed infatti capire le due cose, specie da chi viene dal secondo è un casino.
In sostanza con Docker non distribuisco più il software, ma un piccolo file di qualche decina di kilobyte, che contiene le istruzioni di "installazione" precise su cosa fare. Di punto in bianco l'installazione sistemistica diventa inutile, perché non c'è bisogno di installare un sistema operativo, cercare ed installare le librerie, le dipendenze, configurare la rete e i permessi. Oltretutto il processo genera un risultato uguale sia per chi lo ha concepito sia per chi lo utilizzerà.
Questo non vuol dire che la figura sistemistica non serva più, anzi semmai direi il contrario, perché affinché funzioni tutto questo automatismo, c'è da smenare mica poco a livello di DataCenter.
Ma qui si genera un vulnus pericoloso.
Sul proprio portatile installare Docker è come installare Office, ne più né meno. Poi da lì richiamare il "file delle istruzioni" di cui sopra è incredibilmente facile. Questo però succede sul tuo portatile... il DataCenter è un'altra storia.
Non ultimo Docker non è il software definitivo, è un tassello del puzzle, e la battaglia per il formato "de facto" è decisamente in corso. Google ha creato Kubernetes, Canonical microk8s per citare i più famosi, ma anche la stessa Vmware che si è mossa, forse non proprio granché bene, con il suo Tanzu che pochi conoscono.
Penso che la seconda metà del decennio ci sarà una promiscuità nella virtualizzaione, per poi spostarsi verso progettazioni sempre più concepite a contanier
Posted from my blog: https://blog.tosolini.info/