I container stanno diventando lo standard nel packaging e deploy di codice applicativo. Questo grazie al fatto che i container risolvono naturalmente moltissimi problemi dei tool classici di build e deploy; inoltre i container ci offrono la possibilità di ripensare a come distribuiamo i nostri applicativi.
Modularità e scalabilità
Come le Service Oriented Architectures (SOA) incoraggiavano la decomposizione delle applicazioni in servizi modulari e disaccoppiati, così i container incoraggiano l’ulteriore decomposizione di suddetti servizi in container modulari che cooperano tra di loro in maniera stateless.
I Container, opportunamente configurati, abilitano a migliorare le applicazioni in termini di modularità e scalabilità, ed inoltre incrementano la riusabilità diminuendo il Time to Business. I container ti abilitano allo sviluppo di applicazioni, smettendo di preoccuparti dei dettagli implementativi, e permettono di rivoluzionare le DevOps.
I vantaggi dei Container
- Velocizzano lo sviluppo applicativo grazie alla possibilità di essere riusati non solo nell’ambito del proprio team ma con la community internazionale
- Abilitano allo sviluppo agile grazie alla suddivisione dei confini tra container
- Migliorano le applicazioni grazie alla diminuzione del cosiddetto “spaghetti code” e delle dipendenze applicative
- Abilitano la scalabilità delle applicazioni in maniera semplice
Come costruire un’ applicazione con i container in Cloud
Occorre pensare all’applicazione come un insieme di moduli indipendenti e disaccopiati. I vari moduli saranno incapsulati in un gruppo di container che cooperano tra di loro e vengono esposti verso l’esterno per formare un service.
La nostra applicazione, divisa in moduli, necessiterà di essere ospitata da un host docker che la esegua e la esponga verso internet. In questo ci viene aiuto Google che ha creato Kubernetes anche detto K8. K8 è un sistema open source di Orchestrazione.
All’istanza K8 si associano delle macchine virtuali e K8 si occupa di eseguire i container sulle macchine a disposizione, di monitorare il buono stato dei container, di scalare i container in caso di aumento dei carichi di lavoro, e molto altro. In K8, in realtà, non parleremo di containers ma di Pod che rappresenta l’unità atomica per costruire quindi veri cluster. Il Pod è un insieme di container che vivono, vengono creati, scalano, e vengono distrutti insieme. Per portare la nostra applicazione in Cloud quindi prepareremo dei Pod, composti da uno o più containers, deployeremo i nostri Pod su un Cluster K8 e configureremo K8 affinchè esponga i nostri Pod. Potremo poi istruire K8 a scalare la nostra applicazione, ovvero ad aumentare il numero di Pod disponibili.
Glue Labs ed i Container di Kubernetes
Realizziamo container per le tue applicazioni e li portiamo in Cloud, ti supportiamo nella gestione, configurazione, realizzazione e mantenimento dei servizi e dei Pod. Inoltre ti forniamo la nostra consulenza gratuita per l’ospitamento nella Google Cloud Platform grazie al nostro servizio di Google Cloud Hosting.