À medida que as empresas migram para o desenvolvimento e a implantação de aplicativos baseados em contêiner, elas precisam aprender a gerenciar equipes distribuídas com fluxos de trabalho de engenharia separados. Para ajudar grandes empresas a concluir a migração para aplicativos baseados em contêineres, criamos o Blueprint de aplicativos empresariais. Esse blueprint implanta uma plataforma interna para desenvolvedores que permite que as equipes da plataforma de nuvem forneçam uma plataforma gerenciada para desenvolvimento e entrega de software que os grupos de desenvolvimento de aplicativos da organização possam usar.
O blueprint de aplicativos empresariais foi projetado para ser compatível com o Blueprint de fundação empresarial. O blueprint de fundação empresarial fornece vários serviços de nível básico necessários ao blueprint de aplicativos empresariais, como o Cloud Identity. É possível implantar o blueprint de aplicativos empresariais sem implantar o blueprint de fundação empresarial quando o ambiente do Google Cloud fornece a funcionalidade necessária para permitir o blueprint de aplicativos empresariais.
Este documento é destinado a arquitetos de nuvem e considera que você já usa o blueprint de aplicativos empresariais para implantar novos aplicativos empresariais no Google Cloud. No entanto, se você já tiver aplicativos empresariais conteinerizados no Google Cloud, será possível adotar essa arquitetura de referência de forma incremental.
Este documento também considera que você compreende os componentes do Kubernetes, incluindo serviços, namespaces e clusters. Para informações contextuais sobre o Kubernetes e a implementação dele no Google Cloud, consulte a Visão geral técnica da edição Enterprise do Google Kubernetes Engine (GKE).
Visão geral do blueprint de aplicativos empresariais
Na maioria das empresas, uma plataforma para desenvolvedores gerencia a infraestrutura compartilhada usada por todos os desenvolvedores. A plataforma para desenvolvedores cria pipelines de criação, pipelines de implantação e ambientes de execução para cada componente de aplicativo sob demanda. As equipes de desenvolvedores e os operadores de aplicativos têm acesso somente aos componentes de aplicativo pelos quais são responsáveis. A plataforma é projetada para permitir a implantação de aplicativos altamente disponíveis e seguros.
Esse blueprint implanta uma plataforma para desenvolvedores com base no blueprint de fundação empresarial (ou equivalente). A plataforma para desenvolvedores contém recursos como clusters do Google Kubernetes Engine (GKE), frota do GKE, fábrica de aplicativos, pipelines de infraestrutura, monitoramento da plataforma e geração de registros da plataforma. Além disso, a plataforma para desenvolvedores configura os usuários (administradores da plataforma para desenvolvedores e desenvolvedores de aplicativos) que gerenciam a solução.
Esse blueprint permite que as organizações concedam a diferentes equipes de desenvolvimento de aplicativos (chamadas de locatários) acesso à plataforma. Um locatário é um grupo de usuários com propriedade compartilhada sobre um conjunto de recursos. Um locatário tem um ou mais aplicativos que são executados na plataforma como um serviço baseado em contêiner. Um aplicativo na plataforma para desenvolvedores é um pacote de códigos-fontes e configurações. Cada aplicativo é criado e implantado por um pipeline de CI/CD dedicado. Os locatários e os aplicativos ficam isolados uns dos outros no ambiente de execução e nos pipelines de CI/CD. Algumas partes do blueprint fornecem automação e são usadas por todos os locatários, chamados de multilocatário.
Para ilustrar como a plataforma para desenvolvedores é usada, o blueprint contém um aplicativo de exemplo chamado Cymbal Bank. O Cymbal Bank é um aplicativo de microsserviços projetado para ser executado no GKE. O objetivo do aplicativo é simular um aplicativo altamente disponível que é implantado em uma configuração ativo-ativo para permitir a recuperação de desastres. O Cymbal Bank considera que o aplicativo é desenvolvido e operado por várias equipes de desenvolvedores independentes.
A seguir
- Leia sobre arquitetura (próximo documento desta série).