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

Questa serie di tutorial è rivolta agli sviluppatori che non hanno mai utilizzato Kubernetes e Google Kubernetes Engine (GKE). In questa serie, imparerai a trasformare Cymbal Books, un'app monolitica di esempio, in un'app modulare e in container 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 sia necessario scriverne, 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 Trusted Cloud by S3NS, la containerizzazione o Kubernetes, non preoccuparti: questi concetti sono spiegati nella serie.

Costi

Puoi completare questo tutorial senza incorrere in addebiti. Tuttavia, seguendo i passaggi dell'ultimo tutorial di questa serie, vengono addebitati costi sul tuo accountTrusted Cloud by S3NS . 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 una volta completato questo tutorial.

Perché containerizzare un'app?

Ti starai chiedendo perché dovresti containerizzare la tua app. L'elenco seguente 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 ambienti diversi, come sviluppo, test e produzione.

Tutorial di questa serie

La serie è composta dai seguenti tutorial:

  1. Panoramica (questo tutorial)
  2. Informazioni sul monolite
  3. Modularizza il monolite
  4. Preparare l'app modulare per la containerizzazione
  5. Containerizzare l'app modulare
  6. 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.