Percurso de aprendizagem: transforme um monolítico numa app do GKE – Vista geral

Esta série de tutoriais destina-se a programadores que estão a começar a usar o Kubernetes e o Google Kubernetes Engine (GKE). Nesta série, vai aprender a transformar o Cymbal Books, uma app monolítica de exemplo, numa app modular em contentores que é executada num cluster do GKE.

Antes de começar esta série de tutoriais, é útil ter alguma experiência com programação em Python e desenvolvimento de aplicações Web. Embora todo o código seja fornecido e não precise de escrever nenhum código, a capacidade de ler e compreender o código Python básico ajuda a acompanhar melhor. Também tem de se sentir confortável a usar a linha de comandos para executar comandos. Se não conhece o Google Cloud, a contentorização ou o Kubernetes, não se preocupe. Estes conceitos são explicados na série.

Custos

Pode concluir este tutorial sem incorrer em custos. No entanto, se seguir os passos no tutorial final desta série, incorre em custos na sua conta doGoogle Cloud . Os custos começam quando ativa o GKE e implementa a app Cymbal Books num cluster do GKE. Estes custos incluem cobranças por cluster do GKE, conforme descrito na página de preços, e cobranças pela execução de VMs do Compute Engine.

Para evitar cobranças desnecessárias, certifique-se de que desativa o GKE ou elimina o projeto assim que concluir este tutorial.

Por que motivo deve colocar uma app num contentor?

Pode estar a perguntar-se por que motivo quer colocar a sua app num contentor. A seguinte lista explica algumas das vantagens das apps em contentores:

  • Isolamento: cada componente é executado de forma independente no seu próprio contentor. As alterações ou as atualizações a um componente não interrompem o resto da app.
  • Escalabilidade: pode dimensionar componentes individuais com base na procura. Se uma parte da app tiver uma carga elevada, pode dimensionar apenas essa parte. Não precisa de redimensionar toda a app.
  • Isolamento de falhas: os problemas num componente estão contidos e não afetam outros componentes. Este isolamento facilita a depuração e a resolução de problemas sem afetar o resto do sistema.
  • Desenvolvimento e implementação mais rápidos: as equipas podem trabalhar em diferentes componentes da app em simultâneo. Podem desenvolver, testar e implementar de forma independente, o que pode acelerar os ciclos de desenvolvimento.
  • Eficiência dos recursos: os contentores ajudam a otimizar a utilização dos recursos, o que pode reduzir os custos de execução da sua app.
  • Consistência entre ambientes: cada contentor é executado da mesma forma em diferentes ambientes, como desenvolvimento, testes e produção.

Tutoriais desta série

A série é composta pelos seguintes tutoriais:

  1. Vista geral (este tutorial)
  2. Compreenda o monolito
  3. Modularize o monolítico
  4. Prepare a app modular para a contentorização
  5. Coloque a app modular em contentores
  6. Implemente a app num cluster do GKE

Cada tutorial baseia-se no anterior e ajuda a compreender os principais conceitos e práticas na modularização, contentorização e implementação de apps. No final da série, terá uma app em execução no GKE e uma compreensão sólida da modularização, da contentorização e dos princípios básicos do Kubernetes.

Para começar, consulte o artigo Compreender o monolito.