Kubernetes deriva direttamente dalla tecnologia utilizzata internamente da Google per orchestrare la massiccia infrastruttura che supporta le sue applicazioni (Gmail, Google Drive). Trasferito alla Cloud Native Computing Foundation (Cncf) ed è diventato un progetto open source (sotto licenza Apache 2.0).
Da qui il passaggio alla modalità cloud con Google Container Engine (Gke) è progettato per gestire l’orchestrazione di cluster di contenitori software. Google Gke distribuisce e gestisce completamente il server master del cluster Kubernetes. Gestisce inoltre automaticamente il dimensionamento (autoscaling, editor’s note) delle risorse macchina sottostanti, Ram e Cpu, in base al traffico applicativo.
Il vantaggio di avere una soluzione cloud per Kubernetes si spiega con il fatto che la sua installazione rimane complessa. Avere un servizio cloud gestito su questo terreno ha il vantaggio di semplificare questo passo. Soprattutto perché gli aggiornamenti saranno gestiti direttamente dal provider.
La concorrenza per Kubernetes
Sulla sua scia, altri fornitori cloud hanno deciso di fare affidamento su Kubernetes. Amazon e Microsoft hanno presentato le loro alternative alla fine del 2017. Chiamato Elastic container service for Kubernetes (Amazon Eks), l’offerta è progettata per automatizzare l’installazione, la configurazione e gli aggiornamenti dei master Kubernetes. Include anche l’autoscalatura verticale e orizzontale.
L’implementazione di Amazon sembrerebbe in qualche modo meno standardizzata di quella di Google. Contemporaneamente a Gke, Amazon Eks sfrutta le Api di rete standard di Kubernetes. Certamente non esattamente allo stesso modo. Mentre l’offerta di Google utilizza la tecnologia open source di Calico per gestire il livello di rete e la politica di rete del cluster, l’offerta di Aws richiede uno sviluppo interno (anche open source). Quest’ultima è tuttavia compatibile con le interfacce dell’orchestratore.
Un altro punto di forza di Google: il suo ambiente viene fornito con modelli per personalizzare la configurazione del master Kubernetes in base alle esigenze particolari (rete, identificazione, ecc.). Una possibilità che non è offerta da Amazon. D’altra parte, l’offerta AWS permetterà di caricare plugin che contribuiranno a un primo livello di personalizzazione.
Amazon Eks beneficia anche della ricchezza del cloud americano. Nella sua versione beta disponibile, si avvale già di diversi strumenti Aws di terze parti (Amazon Vpc, Elastic Load Balancing, Iam, PrivateLink…).
E Microsoft? Certamente il suo servizio Kubernetes (Azure Aks) beneficia già di un mattone paragonabile a Fargate (battezzati Containers Instances) che permette di essere estratto dallo IaaS, ma l’offerta di Redmond (attualmente in beta pubblica) mostra non meno di due grandi carenze rispetto ai suoi concorrenti.
In primo luogo, Aks non è ancora in grado di gestire l’hosting di un cluster in diverse zone dell’Azyre (è stata presentata una richiesta a Microsoft in questo senso). In secondo luogo, a differenza di Gke e Eks, il servizio non offre dispositivi per personalizzare la configurazione di un cluster Kubernetes.