Percorso di apprendimento: trasforma un monolito in un'app GKE - Panoramica


Questa serie di tutorial è rivolta agli sviluppatori che non hanno familiarità con Kubernetes e Google Kubernetes Engine (GKE). In questa serie, imparerai a trasformare Cymbal Books, un'app monolitica di esempio, in un'app modulare e containerizzata che viene eseguita su un cluster GKE.

Prima di iniziare questa serie di tutorial, è utile avere un po' di esperienza con la programmazione Python e lo sviluppo di applicazioni web. Sebbene tutto il codice venga fornito e non dovrai scriverne nessuno, la capacità di leggere e comprendere il codice Python di base ti aiuterà a seguire meglio. Devi anche saper utilizzare la riga di comando per eseguire i comandi. Se non hai familiarità con Google Cloud, la containerizzazione o Kubernetes, non preoccuparti: questi concetti sono spiegati nella serie.

Costi

Puoi completare questo tutorial senza incorrere in alcun addebito. Tuttavia, seguendo i passaggi descritti nell'ultimo tutorial di questa serie, verranno addebitati costi sul tuo accountGoogle Cloud . I costi iniziano quando abiliti GKE ed esegui il deployment dell'app Cymbal Books in un cluster GKE. Questi costi includono gli addebiti per cluster per GKE, come descritto nella pagina dei prezzi, e gli addebiti per l'esecuzione delle VM di Compute Engine.

Per evitare addebiti non necessari, assicurati di disabilitare GKE o eliminare il progetto al termine di questo tutorial.

Perché containerizzare un'app?

Ti starai chiedendo perché dovresti containerizzare la tua app. Il seguente elenco spiega alcuni dei vantaggi delle app containerizzate:

  • Isolamento: ogni componente viene eseguito in modo indipendente nel proprio container. Le modifiche o gli aggiornamenti a un componente non interrompono il resto dell'app.
  • Scalabilità: puoi scalare i singoli componenti in base alla domanda. Se una parte dell'app subisce un carico elevato, puoi scalare solo quella parte. Non è necessario scalare l'intera app.
  • Isolamento dei guasti: i problemi in un componente sono contenuti e non influiscono sugli altri componenti. Questo isolamento semplifica il debug e la risoluzione dei problemi senza influire sul resto del sistema.
  • Sviluppo e deployment più rapidi: i team possono lavorare contemporaneamente su diversi componenti dell'app. Possono sviluppare, testare ed eseguire il deployment in modo indipendente, il che può accelerare i cicli di sviluppo.
  • Efficienza delle risorse: i container aiutano a ottimizzare l'utilizzo delle risorse, il che può ridurre i costi di esecuzione dell'app.
  • Coerenza tra gli ambienti: ogni contenitore viene eseguito allo stesso modo in diversi ambienti, come sviluppo, test e produzione.

Tutorial di questa serie

La serie è suddivisa nei seguenti cinque tutorial:

  1. Informazioni sul monolite
  2. Modularizza il monolite
  3. Preparare l'app modulare per la containerizzazione
  4. Containerizzare l'app modulare
  5. Esegui il deployment dell'app in un cluster GKE

Ogni tutorial si basa su quello precedente e ti aiuta a comprendere i concetti chiave e le pratiche di modularizzazione, containerizzazione e deployment delle app. Al termine della serie, avrai un'app in esecuzione su GKE e una solida conoscenza della modularizzazione, della containerizzazione e delle nozioni di base di Kubernetes.

Per iniziare, vedi Comprendere il monolite.