Visão geral do App Lifecycle Manager

O App Lifecycle Manager (antigo ambiente de execução de SaaS) permite armazenar, hospedar, gerenciar e monitorar aplicativos de software como serviço (SaaS) no Google Cloud. O App Lifecycle Manager gerencia implantações do Terraform em escala, permitindo que você gerencie o aplicativo SaaS e a infraestrutura em que ele é executado.

O App Lifecycle Manager pode ser usado de várias maneiras por diversas partes interessadas no pipeline de SaaS. Se o seu trabalho se alinhar a qualquer uma das funções a seguir, use o App Lifecycle Manager para simplificar suas operações multilocatárias:

  • Administrador da plataforma

  • Desenvolvedor de aplicativos

  • Arquiteto

  • Administrador de compliance

  • Engenheiro de plataforma

  • Operações financeiras

O App Lifecycle Manager oferece os seguintes benefícios:

  • Simplifique o gerenciamento de serviços em grande escala: automatize tarefas do ciclo de vida, como provisionamento de locatários, lançamentos graduais e gerenciamento de flag de recurso em todos os locatários de SaaS.

  • Amplie a observabilidade e o controle: ajuste as atualizações e as versões em unidades configuráveis para gerenciar sua oferta de apps com precisão em escala.

  • Crie consistência em Google Cloud: gerencie serviços gerenciados em Google Cloud, Google Distributed Cloud, Cloud Billing, observabilidade e Resource Manager.

  • Promover a modularidade e a reutilização: use uma arquitetura flexível, baseada em modelos, que ofereça suporte a atualizações de grupos baseadas em unidades, dependências entre unidades e implantações repetíveis.

Como o App Lifecycle Manager funciona

O App Lifecycle Manager implanta artefatos de infraestrutura e aplicativo que definem sua oferta de app. Cada componente da sua oferta é definido por uma configuração do Terraform e modelado como um tipo de unidade. Você provisiona unidades (instâncias de um tipo de unidade) para seus locatários e atualiza essas unidades ao longo do tempo usando versões e lançamentos configuráveis.

A arquitetura do App Lifecycle Manager é criada com base nos seguintes conceitos principais:

  • Oferta de app (Saas): o recurso de nível superior que representa seu produto SaaS e define as regiões disponíveis em que seus recursos e unidades residem.

  • Modelos e blueprints compostos: as configurações do Terraform que especificam os recursos do Google Cloud para sua oferta. É possível projetar e conectar modelos compostos do Application Design Center ou empacotar configurações do Terraform diretamente em blueprints da Open Container Initiative (OCI) armazenados no Artifact Registry.

  • Tipos de unidade (UnitKind): modelos que definem componentes distintos e gerenciados de forma independente da oferta do app (por exemplo, um nível de banco de dados ou um cluster de aplicativos). Os tipos de unidade podem declarar dependências e mapeamentos de variáveis para que as saídas de uma unidade sejam transmitidas automaticamente como entradas para unidades dependentes.

  • Unidades (Unit) e locatários (Tenant): uma unidade é uma instância implantada de um tipo de unidade. As unidades normalmente são agrupadas por locatário e provisionadas em projetos de locatário dedicados usando o Infrastructure Manager e uma conta de serviço de atuação gerenciada pelo usuário.

  • Versões (Release): snapshots imutáveis de um tipo de unidade que fazem referência a uma versão específica do blueprint e a variáveis de entrada padrão.

  • Tipos de lançamento (RolloutKind) e lançamentos (Rollout): um lançamento aplica uma nova versão em uma frota de unidades. Cada lançamento segue a estratégia de lançamento, a margem de erro e os filtros de unidade definidos no tipo de lançamento.

  • Flags de recursos: controles de configuração de ambiente de execução que permitem alternar a disponibilidade e o comportamento de recursos em unidades e locatários sem reimplantar a infraestrutura. Para mais informações, consulte a Visão geral das flags de recurso.

Para definições completas da terminologia do App Lifecycle Manager, consulte o glossário do App Lifecycle Manager.

Preparar sua carga de trabalho para o App Lifecycle Manager

Antes de implantar sua oferta de app, determine como particionar o aplicativo e a infraestrutura no ecossistema do App Lifecycle Manager.

Organize os componentes da oferta do app que precisam ser atualizados ou escalonados em conjunto em configurações distintas do Terraform e modele cada agrupamento como um tipo de unidade separado. Por exemplo, é possível modelar uma rede ou um banco de dados compartilhado em um tipo de unidade e o nível do aplicativo sem estado em um tipo de unidade dependente.

Usar modelos compostos com o App Lifecycle Manager

Para definir a arquitetura das suas ofertas do App Lifecycle Manager, use modelos compostos no Application Design Center.

Quando você anexa um modelo composto à sua oferta de app, o App Lifecycle Manager preenche automaticamente os tipos de unidade, os blueprints e as versões definidos no modelo. Ao atualizar o modelo composto no App Design Center, você pode importar a nova revisão do modelo para sua oferta de app e implantar atualizações em todas as unidades.

Para mais informações sobre como criar modelos compostos, consulte Projetar modelos compostos. Para instruções sobre como conectar um modelo composto a uma oferta, consulte Modelar e empacotar unidades de implantação.

Fluxo de trabalho completo

A implantação e a operação de um aplicativo multilocatário com o App Lifecycle Manager seguem quatro etapas principais:

  1. Projetar e empacotar seu aplicativo: crie componentes modulares do Terraform e monte um modelo de aplicativo composto no Application Design Center ou empacote suas configurações do Terraform em blueprints da OCI.

  2. Configurar projetos e contas de serviço: configure seus projetos de produtor e locatário e conceda os papéis do IAM necessários às suas contas de serviço do App Lifecycle Manager.

  3. Criar e modelar sua oferta de app: crie uma oferta de app com as regiões de destino, conecte seu modelo composto ou defina tipos de unidade em Modelar e empacotar unidades de implantação e configure variáveis e dependências.

  4. Provisionar unidades e implantar versões: implante instâncias de unidade para cada locatário e implante as atualizações subsequentes em todos os locais usando estratégias de lançamento, conforme descrito em Atualizar uma oferta de SaaS.

Para conferir esse fluxo de trabalho passo a passo:

  • Siga o tutorial completo, Projetar e implantar soluções de SaaS, para criar um modelo composto de vários componentes no App Design Center e implantá-lo em vários locatários com o App Lifecycle Manager.

  • Confira o guia de início rápido para implantar um modelo de aplicativo composto do Cloud Run e do Cloud Storage com o App Lifecycle Manager.

Principais conceitos operacionais

Ao planejar sua arquitetura de produção no App Lifecycle Manager, consulte os seguintes guias independentes:

  • Contas de serviço: saiba mais sobre o agente de serviço do App Lifecycle Manager gerenciado pelo Google, as contas de serviço de atuação gerenciadas pelo usuário (actuation_sa) e as contas de serviço opcionais de criação de artefatos, além dos papéis do IAM necessários para cada uma.

  • Estratégias de lançamento: compare as estratégias de lançamento em um único local, de uma só vez e progressivas e saiba como os tipos de lançamento usam margens de erro e filtros de unidade para proteger as atualizações de produção.

  • Regionalização: entenda como as regiões disponíveis em uma oferta de app controlam o posicionamento de unidades, os locais de lançamento, a replicação automatizada de recursos e os requisitos para locais para o Artifact Registry e o Developer Connect.

A seguir