AWS continua a raccogliere premi e riconoscimenti da tutti i più importanti player del settore. 

Dopo il noto riconoscimento come Leader nel Gartner Infrastructure as a Service (IaaS) Magic Quadrant, oltretutto per il nono anno consecutivo, AWS diventa leader Public Cloud Enterprise per Container Platforms nella Forrester New Wave™.

“Con una vasta gamma di opzioni di consumo Kubernetes completamente gestite e senza server, e la maggior parte dei container implementati direttamente nella sua infrastruttura cloud, Amazon Web Services (AWS) continua a innovare e integrare profondamente la sua piattaforma container con le sue principali funzionalità di sicurezza e di rete.” – Forrester

AWS offre risorse ottimizzate per l’esecuzione di container, insieme a una serie di servizi di orchestrazione che semplificano la creazione e l’esecuzione di applicazioni containerizzate in produzione. In questo rapporto, Forrester identifica e valuta le 7 piattaforme più significative in questa categoria e le valuta sulla base di 10 criteri, sui quali AWS ha saputo distinguersi.

Ma è doveroso fare un passo indietro, comprendendo a fondo cosa sono i Container e quali sono le opportunità e le sfide ad essi legate.

I container stanno cambiando il mondo dello sviluppo e del deployment di applicazioni sui server: questo modello permette infatti di velocizzare i tempi di messa in opera delle applicazioni e garantisce maggiore flessibilità e sicurezza, ma presenta anche problematiche nuove cui le aziende devono fare fronte.

Le macchine virtuali astraggono il concetto di hardware e rendono possibile l’esecuzione di più sistemi operativi su una stessa macchina.

I container, invece, astraggono il concetto di sistema operativo e così creano un nuovo “strato” di astrazione in cui vengono spostati librerie, eseguibili e altre componenti del sistema operativo.

In questo modo l’applicazione è indipendente dal sistema operativo in cui è eseguita e ciò rende possibile, ad esempio, eseguirne molteplici copie senza che queste siano in contatto l’una con l’altra.

Per contro i container non consentano lo stesso livello di sicurezza delle macchine virtuali e per questo motivo esistono soluzioni dedicate, come AWS Fargate, che tra le altre cose garantisce la separazione dei container confinandoli in macchine virtuali dedicate. I container sono controllati da un software, definito orchestrator, che si occupa di gestire e coordinare i vari container in esecuzione. 

L’introduzione dei container ha semplificato l’utilizzo del metodo DevOps, dove il confine tra sviluppatori e sistemisti si sfuma fino a svanire: la gestione dello sviluppo e quella del deployment dei progetti diventa integrata e consente di effettuare nuovi rilasci del software più rapidamente e in maniera continua, con miglioramenti incrementali.

La sfida per le aziende in questo contesto è quella di rivedere il processo di sviluppo e di gestione dei progetti, ma quando riescono a completare questo passaggio le opportunità che si aprono loro sono notevoli: grazie al modello dei container è possibile ottenere maggiore flessibilità e maggiore capacità di rispondere alle esigenze specifiche dell’azienda.

Questo avviene poiché i container hanno tempistiche di avvio e risposta molto inferiori rispetto a quelle delle macchine virtuali: grazie alle caratteristiche intrinseche di questo modello, serve pochissimo tempo per avviare un container e per rispondere alle richieste.

AWS Fargate è una ulteriore semplificazione rispetto al modello dei container “classico”: Fargate permette, infatti, di occuparsi solo del proprio container, delegando ad AWS la configurazione e la manutenzione della piattaforma sottostante.

In questo modo le aziende possono cogliere tutti i vantaggi del modello dei container senza però doversi più occupare dei dettagli tecnici sottostanti, che spesso sono quelli che comportano i problemi e le spese più grandi. Si tratta a tutti gli effetti di un’applicazione del modello serverless nell’ambito dei container.

“I vantaggi principali di Fargate sono molteplici. Innanzitutto permette di non dover gestire l’infrastruttura computazionale necessaria per far girare i container, riducendo cosi’ i costi di gestione”, afferma Massimo Re Ferrè, Principal Developer Advocate in Amazon Web Services. “In seconda istanza Fargate permette di far girare un task ECS o un pod EKS in modo dedicato su una singola istanza di macchina virtuale gestita.

Questo permette di aumentare il grado di sicurezza mitigando il problema dei “container escapes”, cioe’ la possibilita’ che un’applicazione che gira in un container prenda possesso dell’host e di altri container che girano sullo stesso host. Fargate, inoltre, e’ agnostico all’orchestratore e puo’ essere usato sia da utenti di Amazon ECS che da utenti di Amazon EKS”.

Questa così grande flessibilità e scalabilità porta però anche a un problema di controllo delle spese.

VMEngine, Advanced Consulting Partner di AWS in Italia, nell’ultimo anno è riuscita a migrare diverse Imprese verso i container di AWS, mantenendo la stessa operatività e generando significativi risparmi.

Si tratta di un risultato eccezionale sotto tutti i profili che mostra quanto una configurazione ben fatta e pensata appositamente per il sistema su cui si regge possa garantire risparmi significativi rispetto alle soluzioni tradizionali.

Non sempre le aziende tengono però conto delle differenze esistenti tra i vari modelli di fatturazione e questo le porta a spendere di più; in questi casi è consigliabile affidarsi alla consulenza di esperti con i quali stabilire la giusta strategia di migrazione.

L’offerta di AWS include due orchestratori: da un lato c’è EKS che offre un’implementazione upstream, ovvero senza modifiche, di Kubernetes compatibile con tutti i fornitori che offrono Kubernetes; dall’altro c’è ECS, con un’implementazione di un orchestratore creato da Amazon con collegamenti ad altri servizi dell’azienda.

Entrambe le soluzioni sono compatibili con Fargate, EKS è l’opzione migliore nel caso in cui si preferisca Kubernetes, mentre ECS è la scelta migliore per i workload in Doker.

“Per alcuni clienti l’integrazione nativa delle applicazioni con gli altri servizi AWS e’ una priorita’ di business ed una opportunita’ di abbattere costi di gestione. Questi clienti tipicamente scelgono Amazon ECS, un servizio completamente gestito e nativamente integrato con altri servizi AWS. Altri clienti hanno esigenze particolari quali la necessita’ di configurare l’orchestrazione dei container in modo peculiare usufruendo di un vasto ecosistema open source di soluzioni add-on. Questi clienti tipicamente scelgono Amazon EKS, un servizio gestito basato su Kubernetes e compatibile con l’ecosistema stesso. La portabilita’ delle applicazioni e’ principalmente garantita dal formato container in primis, ed in seconda battuta dall’orchestratore utilizzato.”

Infine, notizia di pochissimi giorni fa, Amazon Web Services (AWS) si è unito a Docker per creare “un’esperienza integrata e senza attriti” che consente agli sviluppatori di passare dai container in esecuzione in un ambiente Docker Desktop locale all’Elastic Container Service (ECS) di Amazon in modo rapido e semplice.

Gli sviluppatori possono ora utilizzare Docker Compose, Docker Desktop e Docker Hub per distribuire applicazioni su Amazon ECS e il motore di elaborazione senza server AWS Fargate. Questa nuova funzionalità semplifica il processo di distribuzione e gestione dei contenitori in AWS da un ambiente di sviluppo locale che esegue Docker.

In precedenza, prendere un file Docker Compose locale ed eseguirlo su Amazon ECS rappresentava una sfida a causa dei costrutti in Amazon ECS che non facevano parte delle specifiche Docker Compose, ha spiegato la società in una nota, ma che erano necessari per l’esecuzione dell’applicazione in AWS.

Docker e AWS hanno collaborato alla creazione di un flusso di lavoro semplificato che consente agli sviluppatori di passare rapidamente e facilmente dai contenitori in esecuzione in un ambiente Docker Desktop locale ad Amazon ECS. Ciò fornisce agli sviluppatori un percorso semplice per eseguire applicazioni di produzione altamente sicure e scalabili in Amazon ECS.

“Questo è un grande passo per offrire agli sviluppatori la migliore esperienza di costruzione, condivisione ed esecuzione di app native per cloud con Docker e Amazon ECS”, ha affermato Scott Johnston, CEO di Docker. “Questa esperienza consente agli sviluppatori di lavorare a livello locale e portare la stessa esperienza in un servizio cloud su scala di produzione con Amazon ECS, riducendo la portata delle conoscenze necessarie e accelerando il loro tempo di produzione.”

Hai già colto i vantaggi della Containerizzazione?

Quello dei container è oggi un mercato che entro la fine dell’anno, secondo 451 Research varrà già 2,6 miliardi di dollari.

Mentre gli analisti di Gartner segnalano che più del 70% delle aziende che operano a livello globale, entro il 2023, avrà in produzione almeno due applicazioni critiche, rispetto ad una percentuale di appena il 20% attuale.    

Share This