I contenitori sono un metodo di virtualizzazione di sistema operativo che permette di eseguire un’applicazione e le sue dipendenze in processi isolati da risorse. I contenitori permettono di creare facilmente un pacchetto con il codice, la configurazione e le dipendenze di un’applicazione, costituendo elementi facili da usare che permettono di ottenere un ambiente uniforme, efficienza operativa, produttività di sviluppo e controllo di versione. I contenitori consentono una distribuzione di applicazioni rapida, affidabile e uniforme indipendentemente dall’ambiente di distribuzione. Inoltre i contenitori consentono un controllo più granulare sulle risorse, aumentando così l’efficienza dell’infrastruttura. Eseguire contenitori nel cloud AWS permette di creare applicazioni e servizi robusti e scalabili sfruttando i vantaggi del cloud AWS come l’elasticità, la disponibilità, la sicurezza e le economie di scala. Inoltre paghi solo per le risorse che utilizzi.

Amazon Elastic Container Service

Nozioni di base

Soluzioni in container di partner in AWS – Webinar

Ulteriori informazioni
Containers_ProductDetail_Banner
Containers_Benefit_EnvironmentConsistency

I contenitori consentono la portabilità e aiutano a ridurre i problemi organizzativi e tecnici legati allo spostamento di un’applicazione attraverso il ciclo di vita di sviluppo, test e produzione. I contenitori incapsulano tutti i file necessari all’applicazione e le dipendenze di software e servono come elementi che possono essere distribuiti su qualunque risorsa di calcolo indipendentemente dalle configurazioni di software, sistema operativo o hardware (per es., si può eseguire lo stesso contenitore su un laptop Ubuntu e su server di produzione Red Hat Enterprise Linux). Qualunque sia la composizione del contenitore locale, verrà distribuita ed eseguita nello stesso modo in test o in produzione. Questo è un vantaggio per te e per la tua organizzazione perché puoi distribuire un’applicazione in modo affidabile e uniforme indipendentemente dall’ambiente. Non occorre configurare manualmente ciascun server e si possono rilasciare più rapidamente le nuove funzionalità.

Containers_Benefit_OperationalEfficiency

I contenitori possono aiutarti a ottenere di più dalle tue risorse di calcolo permettendoti di eseguire facilmente più applicazioni sulla stessa istanza. Con i contenitori, puoi specificare la quantità esatta di memoria, spazio su disco e CPU che deve utilizzare un contenitore su un’istanza. I contenitori si avviano rapidamente perché ognuno rappresenta un solo processo nel sistema operativo che esegue un’applicazione e le sue dipendenze. Questa impronta ridotta consente di creare e terminare rapidamente delle applicazioni o attività incapsulate in un contenitore, permettendo di aumentarle o diminuirle velocemente. Si possono usare i modelli di distribuzione blu-verdi per eseguire il rollout di nuove versioni di applicazioni (per es., usando Amazon Elastic Container Service) perché tutta l’applicazione e tutte le sue dipendenze sono contenute in un’immagine. Inoltre i contenitori consentono di isolare un processo, permettendo di mettere ogni applicazione e le sue dipendenze in un contenitore separato ed eseguirle sulla stessa istanza. Non ci sono dipendenze o incompatibilità condivise perché ogni contenitore è isolato dagli altri (per es., si possono eseguire due contenitori che utilizzano versioni diverse di una libreria sulla stessa istanza Amazon EC2.

Puoi anche creare immagini dei contenitori che serviranno come base per altre immagini. I team operativi possono creare un’immagine di base composta dal sistema operativo, dalle configurazioni e dalle varie utilità necessarie. I team di sviluppo possono allora creare la loro applicazione su questa immagine di base. Questo evita la complessità di configurare un server.

Containers_Benefit_DeveloperProductivity

I contenitori aumentano la produttività degli sviluppatori eliminando le dipendenze e i conflitti fra i diversi servizi. Ogni componente dell’applicazione può essere suddiviso in contenitori diversi che eseguono microservizi diversi. I contenitori sono isolati l’uno dall’altro, quindi non ci si deve preoccupare della sincronizzazione delle librerie o delle dipendenze per ogni servizio. Gli sviluppatori possono aggiornare ogni servizio perché non ci sono conflitti di librerie.

Containers_Benefit_VersionControl

I contenitori permettono di tener traccia delle versioni del codice dell’applicazione e delle loro dipendenze. Le immagini dei contenitori Docker hanno un file manifesto (Dockerfile) che permette di mantenere e tenere traccia facilmente delle versioni di un contenitore, analizzare le differenze fra le versioni e ritornare a versioni precedenti.