À medida que as empresas mudam para a implementação e o desenvolvimento de aplicações baseados em contentores, têm de aprender a gerir equipas distribuídas com fluxos de trabalho de engenharia separados. Para ajudar as grandes empresas a concluir a mudança para aplicações baseadas em contentores, criámos o projeto de aplicação empresarial. Este projeto implementa uma plataforma de programadores interna que permite às equipas da plataforma na nuvem fornecer uma plataforma gerida para o desenvolvimento e a entrega de software que os grupos de desenvolvimento de aplicações da respetiva organização podem usar.
O projeto de aplicação empresarial inclui o seguinte:
- Um repositório do GitHub que contém um conjunto de configurações e scripts do Terraform. A configuração do Terraform configura uma plataforma de programadores em Google Cloud que suporta várias equipas de desenvolvimento.
- Um guia para a arquitetura, o design, os controlos de segurança e os processos operacionais que usa este plano para implementar (este documento).
O esquema da aplicação empresarial foi concebido para ser compatível com o esquema das bases empresariais. O esquema detalhado das bases empresariais fornece vários serviços de nível base dos quais o esquema detalhado da aplicação empresarial depende, como o Cloud Identity. Pode implementar o esquema da aplicação empresarial sem implementar o esquema das bases empresariais se o seu ambiente fornecer a funcionalidade necessária para suportar o esquema da aplicação empresarial. Google Cloud
Este documento destina-se a arquitetos de nuvem e pressupõe que está a usar o esquema de aplicação empresarial para implementar novas aplicações empresariais noGoogle Cloud. No entanto, se já tiver aplicações empresariais contentorizadas no Google Cloud, pode adotar esta arquitetura de referência de forma incremental.
Este documento também pressupõe que compreende os componentes do Kubernetes, incluindo serviços, espaços de nomes e clusters. Para informações gerais sobre o Kubernetes e a respetiva implementação no Google Cloud, consulte a vista geral técnica da edição Enterprise do Google Kubernetes Engine (GKE).
Vista geral do projeto de aplicação empresarial
Na maioria das empresas, uma plataforma de programadores gere a infraestrutura partilhada que é usada por todos os programadores. A plataforma de programadores cria pipelines de compilação, pipelines de implementação e ambientes de tempo de execução para cada componente da aplicação a pedido. As equipas de programadores e os operadores de aplicações só têm acesso aos componentes da aplicação pelos quais são responsáveis. A plataforma foi concebida para suportar a implementação de aplicações altamente disponíveis e seguras.
Este modelo implementa uma plataforma de programadores com base no modelo de fundamentos empresariais (ou no seu equivalente). A plataforma do programador inclui recursos como clusters do Google Kubernetes Engine (GKE), a frota do GKE, a fábrica de aplicações, pipelines de infraestrutura, monitorização da plataforma e registo da plataforma. Além disso, a plataforma de programadores configura os utilizadores (administradores da plataforma de programadores e programadores de aplicações) que gerem a solução.
Este plano permite que as organizações concedam a diferentes equipas de desenvolvimento de aplicações (denominadas inquilinos) acesso à plataforma. Um inquilino é um grupo de utilizadores com propriedade comum sobre um conjunto de recursos. Um inquilino é proprietário de uma ou mais aplicações que são executadas na plataforma como um serviço baseado em contentores. Uma aplicação na plataforma para programadores é um pacote de código-fonte e configuração. Cada aplicação é criada e implementada por um pipeline de CI/CD dedicado. Os inquilinos e as aplicações estão isolados uns dos outros no tempo de execução e nas pipelines de CI/CD. As partes do plano detalhado que fornecem automatização são usadas por todos os inquilinos e são denominadas multi-inquilino.
Para ilustrar como a plataforma para programadores é usada, o esquema inclui uma aplicação de exemplo denominada Cymbal Bank. O Cymbal Bank é uma aplicação de microsserviços concebida para ser executada no GKE. A aplicação destina-se a simular uma aplicação de elevada disponibilidade implementada numa configuração ativa-ativa para permitir a recuperação de desastres. O Cymbal Bank assume que a aplicação é desenvolvida e operada por várias equipas de programadores independentes.
O que se segue?
- Leia sobre a arquitetura (documento seguinte nesta série).