Originariamente i microservizi da me sviluppati erano siti web distribuiti su più macchine virtuali.
Ultimamente ho iniziato a indirizzarmi verso i container per ottenere una maggiore densità sulle macchine e per standardizzare le comunicazioni tra i vari sistemi. Una volta avviata una manciata di container, era ovvio che avevo bisogno di una piattaforma per gestirli.
Kubernetes è una piattaforma di gestione per i container. Le applicazioni e i servizi di business in genere utilizzano più contenitori distribuiti su più server.
Kubernetes consente di trattare questi server come un pool di elaborazione. Ne controlla l’utilizzo delle risorse, determina dove e quando i container dovrebbero essere eseguiti e se devono essere aggiunte nuove istanze.
Kubernetes permette di eliminare molti dei processi manuali coinvolti nel deployment e nella scalabilità di applicazioni containerizzate e di gestire in maniera semplice ed efficiente cluster di host su cui vengono eseguiti i container.
Per approfondire l’utilizzo dei container ti suggerisco di leggere “The Kubernetes book“.