Pur essendo Kubernetes lo standard di fatto per la gestione di applicazioni containerizzate, afferma Google Cloud, sviluppatori e operatori di app spesso hanno problemi nel gestire il ciclo di vita Kubernetes end-to-end, con aspetti quali l’authoring, il rilascio e la gestione di applicazioni Kubernetes.
Proprio per semplificare la gestione del lifecycle e della configurazione delle applicazioni, Google Cloud ha lanciato Application Manager, una soluzione di application delivery fornita come add-on di Google Kubernetes Engine (GKE) e ora disponibile in versione beta.
Application Manager, spiega ancora Google Cloud, consente agli sviluppatori di creare facilmente un flusso di delivery delle applicazioni dev-to-production, al contempo incorporando le best practice di Google per la gestione delle configurazioni di rilascio. La nuova soluzione consente inoltre di far funzionare le applicazioni in Google Kubernetes Engine in modo efficiente, sicuro e in linea con la policy aziendale, in modo da poter raggiungere in modo più agevole gli obiettivi di modernizzazione delle applicazioni prefissati.
Il ciclo di vita dell’applicazione Kubernetes, evidenzia Google Cloud, consiste in tre fasi principali: creazione, rilascio e gestione. La creazione include la scrittura del codice sorgente dell’applicazione e la configurazione Kubernetes specifica dell’app. Il rilascio include la modifica del codice e/o della configurazione, quindi la distribuzione sicura di tali modifiche in diversi ambienti di rilascio. La fase di gestione comprende l’operatività delle applicazioni su larga scala e in produzione.
Attualmente, sottolinea ancora la società di Mountain View, non esistono standard ben definiti per queste fasi e gli utenti spesso chiedono a Google Cloud indicazioni sulle best practice e suggerimenti su come iniziare. Inoltre, le configurazioni di un’applicazione Kubernetes possono risultare troppo lunghe e complesse da gestite su larga scala.
In particolare, un’applicazione che viene distribuita negli ambienti di test, staging e produzione potrebbe avere configurazioni duplicate archiviate in più repository Git. Qualsiasi modifica a una configurazione deve essere replicata nell’altra, creando potenziali situazioni per un errore umano.
Application Manager fa suoi i principi GitOps, sfruttando i repository Git per abilitare una gestione della configurazione dichiarativa. Consente di controllare e rivedere le modifiche prima del deployment negli ambienti; esegue anche automaticamente lo scaffolding, applica le strutture di repository Git consigliate e consente di eseguire personalizzazioni template-free per le configurazioni con Kustomize, uno strumento di gestione della configurazione nativo di Kubernetes.