Microsoft Azure e i container: il ruolo di ACI

L'attenzione di Microsoft al mondo della virtualizzazione via container in cloud sta crescendo. Fino a qualche tempo fa la soluzione specifica era solo Azure Container Services (ACS), un servizio simile a quelli di altri provider e che ha una connotazione di tipo infrastrutturale.

Ora si è aggiunto il servizio Azure Container Instances (ACI), che è concettualmente più semplice e si avvicina di più al modello PaaS (Platform as a Service).

La differenza sostanziale tra ACS e ACI sta nel fatto che quest'ultimo permette di lanciare applicazioni containerizzate senza doversi (quasi) preoccupare degli aspetti tecnici sottostanti.

Il servizio comprende un insieme di tool da linea di comando che permettono di lanciare container anche scaricandoli direttamente da repository.

Azure si occupa di assegnare i container a macchine virtuali già esistenti, dando loro le risorse di memoria e CPU che abbiamo specificato al lancio.

Azure Container Instances di fatto è una piattaforma di container-as-a-service che può essere usata in modo molto flessibile. I vari tool da linea di comando (Bash, in futuro anche PowerShell) controllano non solo l'attivazione dei container ma anche la raccolta di informazioni sul loro stato e la configurazione dei servizi di rete e delle connessioni fra container.

Inserendo questi comandi in script anche complessi si raggiunge un elevato grado di automazione nella gestione del nostro ambiente.

L'idea di Microsoft è che ACI sia una base PaaS per realizzare servizi web con particolari esigenze di scalabilità. I container di ACI si possono però anche usare per applicazioni interne, quindi con indirizzi IP privati, o per la parte di test e sviluppo.

L'unica cosa a cui porre particolare attenzione è il costo che il servizio può raggiungere in caso di picchi di carico rilevanti, dato che ACI si paga proporzionalmente al numero di container attivati e al loro consumo di CPU e memoria.

ACI promette di cooperare bene con Kubernetes, anche se l'integrazione fra le due piattaforme è ancora sperimentale. Il progetto open source ACI Connector for Kubernetes permette in sostanza a quest'ultimo di "vedere" Azure come una sorta di nodo a capacità illimitata in cui attivare container a piacimento, usando i comandi e i tool di Kubernetes.

In teoria questo ponte tra Kubernetes e ACI funziona indipendentemente da dove si trova l'implementazione di Kubernetes. Si può quindi usare Azure come una estensione di un ambiente Kubernetes realizzato in locale, anche se è più probabile che gli utenti finiscano con l'usare anche Kubernetes in cloud, per semplicità.

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche iscriviti alla newsletter gratuita.

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here