Programa de aprendizado: transformar um monólito em um app do GKE - visão geral


Esta série de tutoriais é destinada a desenvolvedores que não conhecem o Kubernetes e o Google Kubernetes Engine (GKE). Na série, você vai aprender a transformar o Cymbal Books, um aplicativo monolítico de amostra, em um app modular e em contêiner que é executado em um 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 aplicativos da Web. Embora todo o código seja fornecido e você não precise escrever nada, saber ler e entender o código básico do Python vai ajudar você a acompanhar melhor. Você também precisa ter familiaridade com o uso da linha de comando para executar comandos. Se você não conhece Google Cloud, contentorização ou Kubernetes, não se preocupe. Esses conceitos são explicados na série.

Custos

Você pode concluir este tutorial sem custos. No entanto, seguir as etapas do tutorial final desta série gera cobranças na sua conta doGoogle Cloud . Os custos começam quando você ativa o GKE e implanta o app Cymbal Books em um cluster do GKE. Esses 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, desative o GKE ou exclua o projeto depois de concluir este tutorial.

Por que colocar um app em um contêiner?

Talvez você esteja se perguntando por que é interessante conteinerizar seu app. A lista a seguir explica algumas das vantagens dos apps conteinerizados:

  • Isolamento: cada componente é executado de forma independente no próprio contêiner. Mudanças ou atualizações em um componente não interrompem o restante do app.
  • Escalonabilidade: é possível escalonar componentes individuais com base na demanda. Se uma parte do app tiver uma carga alta, você poderá escalonar apenas essa parte. Não é necessário dimensionar todo o app.
  • Isolamento de falhas: os problemas em um componente são isolados e não afetam outros componentes. Esse isolamento facilita a depuração e a resolução de problemas sem afetar o restante do sistema.
  • Desenvolvimento e implantação mais rápidos: as equipes podem trabalhar em diferentes componentes do app simultaneamente. Eles podem desenvolver, testar e implantar de forma independente, o que pode acelerar os ciclos de desenvolvimento.
  • Eficiência de recursos: os contêineres ajudam a otimizar o uso de recursos, o que pode reduzir os custos de execução do app.
  • Consistência em todos os ambientes: cada contêiner é executado da mesma forma em diferentes ambientes, como desenvolvimento, teste e produção.

Tutoriais nesta série

A série é dividida nos cinco tutoriais a seguir:

  1. Entender o monolítico
  2. Modularizar o monolítico
  3. Preparar o app modular para a criação de contêineres
  4. Colocar o app modular em um contêiner
  5. Implantar o app em um cluster do GKE

Cada tutorial se baseia no anterior e ajuda você a entender conceitos e práticas importantes na modularização, contêinerização e implantação de apps. Ao final da série, você terá um app em execução no GKE e um conhecimento sólido sobre modularização, conteinerização e conceitos básicos do Kubernetes.

Para começar, consulte Entender o monólito.