Projetar modelos de aplicativos padrão

Os administradores criam modelos de aplicativos padrão para garantir que a arquitetura preferida seja usada por cada equipe de desenvolvimento. Isso ajuda a governar os recursos e as configurações que os desenvolvedores usam nas implantações de aplicativos. Depois de criar um modelo padrão, outras pessoas no seu espaço poderão acessá-lo. Você também pode adicionar um modelo a um catálogo para compartilhar com outros espaços.

Os desenvolvedores podem usar seu modelo para criar e implantar um aplicativo, ou você pode incorporar seu modelo como parte de um modelo composto maior. Ao criar um aplicativo, os desenvolvedores podem configurar cada componente do modelo, mas não podem adicionar nem remover nenhum deles. O modelo gera código do Terraform, que os desenvolvedores podem baixar ou implantar no App Design Center.

Este documento ajuda você a criar, configurar e compartilhar um modelo de aplicativo padrão usando o App Design Center.

Antes de começar

Você precisa ter uma das seguintes funções na pasta ou no projeto de gerenciamento ativado para apps:

  • Administrador do App Design Center (roles/designcenter.admin)
  • Usuário do App Design Center (roles/designcenter.user)

Criar um modelo de aplicativo padrão

Crie modelos de aplicativos padrão para compartilhar o design da arquitetura com equipes de desenvolvimento. Você pode adicionar os seguintes componentes ao design do modelo:

  • Recursos: recursos de alto nível que ajudam a controlar outros recursos. Por exemplo, contas de serviço.

  • Serviços: interfaces de rede ou de API consumidas na rede. Exemplos incluem o Cloud Storage e a Vertex AI.

  • Cargas de trabalho: implantações binárias que executam funções comerciais. Exemplos incluem o Cloud Run e o Compute Engine.

Você pode escolher entre os seguintes componentes:

À medida que você cria o modelo, o App Design Center gera código do Terraform para refletir os detalhes de design e configuração.

Especificar detalhes do modelo

Os detalhes do modelo ajudam a categorizar o modelo e os desenvolvedores a decidir se devem usá-lo.

Para inserir detalhes do modelo, faça o seguinte:

Tela de design

  1. No menu de navegação, clique em Modelos.

    Acessar "Modelos"

  2. Clique em Criar modelo.

  3. O campo ID do modelo é preenchido automaticamente. Ou insira um identificador exclusivo para o modelo. Este campo é obrigatório.

  4. No campo Nome do modelo, insira um identificador legível para exibição no console Google Cloud .

    Se você não fornecer um nome, o ID do modelo será copiado para esse campo.

  5. No campo Descrição, insira uma breve explicação da finalidade do aplicativo.

  6. Clique em Criar modelo. A tela de design é exibida.

CLI da gcloud

Crie um modelo de aplicativo.

gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE \
--display-name=DISPLAY_NAME \
--description=DESCRIPTION

Substitua:

  • APPLICATION_TEMPLATE: o ID do modelo de aplicativo que você quer criar.
  • PROJECT: o ID do projeto de gerenciamento.
  • LOCATION: a região do modelo de aplicativo.
  • SPACE: o ID do seu espaço.
  • DISPLAY_NAME: um nome a ser exibido no console do Google Cloud .
  • DESCRIPTION: uma breve descrição.

Para mais informações, consulte gcloud design-center spaces application-templates create.

Criar um modelo

Projete seu modelo adicionando e conectando componentes. O exemplo a seguir inclui três componentes conectados na tela de design.

Um aplicativo da Web de três camadas na tela de design. O aplicativo inclui componentes de front-end, back-end e banco de dados.

Você pode criar seu modelo adicionando componentes aos seguintes pontos de partida:

Para ajudar os desenvolvedores a configurar um aplicativo com base no seu modelo, designe variáveis de entrada e saída específicas. As variáveis ajudam a definir o seguinte:

  • Entradas específicas que os desenvolvedores precisam fornecer ao criar um aplicativo com base no seu modelo. Por exemplo, é possível fornecer valores de variáveis distintos para cada ambiente ao implantar um aplicativo em ambientes de desenvolvimento, produção e teste. Essas variáveis são expostas automaticamente nos arquivos variables.tf e outputs.tf do Terraform gerados.

  • Conexões entre dois modelos de aplicativo padrão incorporados em um modelo composto. Por exemplo, para criar uma conexão em um modelo composto, um modelo de banco de dados pode gerar uma variável de nome de banco de dados usada como entrada para um modelo de lógica de aplicativo.

Para criar seu modelo, faça o seguinte:

Tela de design

  1. Na tela de design, selecione Design para acessar a tela.

  2. Para começar, faça o seguinte:

    • Para começar do zero, na área Componentes, clique em um componente para adicioná-lo à área da tela.

    • Para começar com um modelo fornecido pelo Google, na área Começar da tela, clique no nome do modelo.

    • Para usar o chat de linguagem natural e gerar um modelo, clique em<br>Custom Application with Gemini.

  3. Para criar um canal de comunicação entre componentes, faça o seguinte:

    • Para conectar dois componentes na tela, arraste de um ponto azul em um componente até um ponto azul em outro.

    • Para adicionar a um componente existente, clique em Adicionar e selecione o componente.

    Para detalhes da conexão, consulte a documentação de configuração de cada recurso compatível.

  4. Para remover um componente ou uma conexão, faça o seguinte:

    1. Na tela, clique no componente ou na conexão.

    2. Na área Configuração, clique em Excluir.

    3. No campo, digite delete.

    4. Clique em Excluir.

  5. Para especificar variáveis de entrada e saída no modelo, faça o seguinte:

    1. Clique em Detalhes do modelo.

    2. No painel Detalhes do modelo, clique na guia Variáveis.

    3. Na área Editar variável, faça o seguinte:

      1. Na lista Componente, selecione o componente que é a base da sua variável.

      2. Na lista Tipo de variável, selecione uma das seguintes opções:

        • Saída: o componente gera um valor que pode ser necessário para uma conexão. Por exemplo, um serviço do Cloud Run pode gerar um endereço IP.

        • Entrada: o componente exige entrada do desenvolvedor ou de outro modelo de aplicativo padrão. Por exemplo, um modelo de processamento de dados pode exigir um nome de banco de dados de um modelo de armazenamento de dados.

      3. Para criar outra variável, clique em Adicionar variável e repita essas etapas.

CLI da gcloud

  1. Identifique os URIs de revisão de modelo para os componentes do catálogo do Google que você quer adicionar ao modelo.

    gcloud design-center spaces shared-templates list \
    --google-catalog \
    --location=us-central1
    

    Para mais informações, consulte gcloud design-center spaces shared-templates list.

  2. Adicione um componente ao modelo de aplicativo.

    gcloud design-center spaces application-templates components create COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --shared-template-revision-uri=SHARED_TEMPLATE_URI
    

    Substitua:

    • COMPONENT: o ID do componente que você quer adicionar ao modelo.
    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: a região do modelo de aplicativo.
    • SPACE: o ID do seu espaço.
    • APPLICATION_TEMPLATE: o ID do modelo do aplicativo em que você está adicionando o componente.
    • SHARED_TEMPLATE_URI: o URI do modelo compartilhado do componente. Por exemplo, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Para mais informações, consulte gcloud design-center spaces application-templates components create.

  3. Adicione um segundo componente ao modelo.

    gcloud design-center spaces application-templates components create COMPONENT_2 \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --shared-template-revision-uri=SHARED_TEMPLATE_URI_2
    

    Substitua:

    • COMPONENT_2: o ID do componente do segundo componente que você quer adicionar ao modelo.
    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: a região do modelo de aplicativo.
    • SPACE: o ID do seu espaço.
    • APPLICATION_TEMPLATE: o ID do modelo do aplicativo em que você está adicionando o componente.
    • SHARED_TEMPLATE_URI_2: o URI do segundo modelo compartilhado de componente. Por exemplo, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Para mais informações, consulte gcloud design-center spaces application-templates components create.

  4. Crie uma conexão entre os dois componentes.

    gcloud design-center spaces application-templates components connections create CONNECTION \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --component=COMPONENT \
    --destination-component-uri=COMPONENT_2
    

    Substitua:

    • CONNECTION: o ID da conexão que você quer adicionar ao modelo.
    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: a região do modelo de aplicativo.
    • SPACE: o ID do seu espaço.
    • APPLICATION_TEMPLATE: o ID do modelo de aplicativo em que você está adicionando a conexão.
    • COMPONENT: o ID do componente de origem.
    • COMPONENT_2: o ID do componente de destino.

    Para mais informações, consulte gcloud design-center spaces application-templates components connections create.

  5. Adicione variáveis de entrada e saída para exigir a entrada do desenvolvedor ou para se conectar a outros componentes em modelos compostos.

    gcloud design-center spaces application-templates update APPLICATION_TEMPLATE \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --add-root-input-variables=componentUri=COMPONENT_URI,variable=VARIABLE \
    --add-root-output-variables=componentUri=COMPONENT_URI,variable=VARIABLE
    

    Substitua:

    • APPLICATION_TEMPLATE: o ID do modelo de aplicativo em que você está adicionando variáveis.
    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: a região do modelo de aplicativo.
    • SPACE: o ID do seu espaço.
    • COMPONENT_URI: o URI do componente que é a base da sua variável.
    • VARIABLE: a variável de componente que você quer inserir ou gerar. Por exemplo, um componente de banco de dados pode ter uma variável database_name que você queira gerar ou exigir entrada de desenvolvedores.

    Para mais informações, consulte gcloud design-center spaces application-templates update.

Configurar valores padrão para componentes

Para cada componente adicionado a um modelo, é possível especificar detalhes de configuração padrão, como o projeto e o local de implantação do recurso. O App Design Center aplica esses padrões quando um aplicativo é criado com base nesse modelo.

Os desenvolvedores de aplicativos também podem modificar os detalhes da conexão se a configuração padrão não atender aos requisitos deles. Por exemplo, você pode modificar nomes de chaves variável de ambiente, mudar portas de conexão ou adicionar mais papéis a contas de serviço ao criar um aplicativo.

Antes de implantar um aplicativo, os desenvolvedores podem ver e modificar os valores padrão configurados no modelo. Os desenvolvedores precisam configurar os detalhes obrigatórios para cada recurso compatível.

Para configurar componentes e conexões, faça o seguinte:

Tela de design

  1. Na tela de design, clique em um componente.

  2. Na área Configuração, na lista ID do projeto, selecione o projeto em que você quer implantar o recurso. Selecione um projeto com as seguintes qualificações:

  3. Defina outras configurações para o recurso. Por exemplo, para o Cloud SQL, você pode configurar o seguinte:

    • Região
    • Configuração de backup
    • Sinalizações do banco de dados
    • Configuração de IP

    Para links da documentação de configuração de cada componente, consulte Recursos compatíveis.

  4. Quando você conecta componentes na tela de design, os valores de configuração padrão são usados para criar a conexão. Para adicionar ou modificar detalhes da conexão, faça o seguinte:

    1. Na tela de design, clique na conexão entre dois componentes. O painel Conexão é aberto e mostra os parâmetros de conexão.

    2. Escolha uma destas opções:

      • Para modificar um parâmetro de conexão, clique em Editar.

      • Para adicionar um novo parâmetro de conexão, clique em Adicionar parâmetro.

    3. Atualize os campos Chave e Valor. Por exemplo, você pode querer modificar os seguintes detalhes:

      • Os nomes das chaves variável de ambiente para se alinhar aos requisitos do aplicativo.
      • O valor da porta de conexão.
      • Os papéis adicionados a uma conta de serviço.
  5. Clique em Salvar.

CLI da gcloud

  1. Descreva cada componente no modelo de aplicativo para ver os parâmetros dele.

    gcloud design-center spaces application-templates components describe COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE
    

    Substitua:

    • COMPONENT: o ID do componente que você quer descrever.
    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: a região do modelo de aplicativo.
    • SPACE: o ID do seu espaço.
    • APPLICATION_TEMPLATE: o ID do modelo de aplicativo.

    Para mais informações, consulte gcloud design-center spaces application-templates components describe.

  2. Para cada componente que você quer modificar, crie um arquivo JSON no seu diretório inicial com os valores de parâmetro.

    Por exemplo, você pode criar o seguinte arquivo para um componente do Cloud Run:

      [
          {
            "key": "service_name",
            "value": "frontend-service"
          },
          {
            "key": "project_id",
            "value": "DEPLOYMENT_PROJECT"
          }
      ]
    
  3. Atualize cada componente no modelo de aplicativo para configurar os parâmetros necessários.

    gcloud design-center spaces application-templates components update COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --parameters=PARAMETERS_FILE_PATH \
    --application-template=APPLICATION_TEMPLATE
    

    Substitua:

    • COMPONENT: o ID do componente que você quer atualizar.
    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: a região do modelo de aplicativo.
    • SPACE: o ID do seu espaço.
    • PARAMETERS_FILE_PATH: um arquivo JSON que inclui parâmetros de componentes.
    • APPLICATION_TEMPLATE: o ID do modelo de aplicativo.

    Para mais informações, consulte gcloud design-center spaces application-templates components update.

  4. Descreva as conexões dos componentes.

    gcloud design-center spaces application-templates components connections describe CONNECTION \
    --component=COMPONENT \
    --application-template=APPLICATION_TEMPLATE \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE
    

    Substitua:

    • CONNECTION: o ID da conexão.
    • COMPONENT: o ID do componente.
    • APPLICATION_TEMPLATE: o ID do modelo.
    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: a região do modelo de aplicativo.
    • SPACE: o ID do seu espaço.

    Para mais informações, consulte gcloud design-center spaces application-templates components connections describe.

  5. Edite os parâmetros de conexão do componente.

    gcloud design-center spaces application-templates components connections update CONNECTION \
    --component=COMPONENT \
    --application-template=APPLICATION_TEMPLATE \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --source-component-parameters='[{"key": SOURCE_KEY, "value": SOURCE_VALUE}]'
    

    Substitua:

    • CONNECTION: o ID da conexão.
    • COMPONENT: o ID do componente.
    • APPLICATION_TEMPLATE: o ID do modelo.
    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: a região do modelo de aplicativo.
    • SPACE: o ID do seu espaço.
    • SOURCE_KEY: a nova chave de parâmetro.
    • SOURCE_VALUE: o novo valor de parâmetro.

    Para mais informações, consulte gcloud design-center spaces application-templates components connections update.

Editar código do Terraform

À medida que você cria o modelo de aplicativo, o App Design Center gera código Terraform para refletir os detalhes de design e configuração. É possível editar o Terraform para especificar detalhes da configuração do componente.

O sistema gera os seguintes arquivos do Terraform:

  • main.tf: código de infraestrutura que inclui um módulo para cada componente no modelo.
  • outputs.tf: expõe informações sobre componentes de infraestrutura implantados.
  • variables.tf: declara nome, tipo e descrição para variáveis usadas no arquivo main.tf.
  • input.tfvars: define valores para variáveis usadas no arquivo main.tf.
  • providers.tf: define rótulos que ajudam o Terraform a interagir com APIs e recursos do Google Cloud .

Para mais informações contextuais, consulte Visão geral do Terraform em Google Cloud.

Para editar o código do Terraform, faça o seguinte:

  1. Na tela de design, clique em Código. O sistema mostra os arquivos do Terraform gerados.

  2. Clique em main.tf. O sistema mostra o módulo do Terraform para cada componente.

  3. Edite os detalhes da configuração. Para mais informações, consulte a documentação de configuração de cada recurso compatível.

    O sistema valida automaticamente suas edições e mostra erros se elas forem inválidas.

  4. Para destacar e comparar suas edições, faça o seguinte:

    1. Clique em Conferir diferença.

    2. Para reverter uma mudança, clique em Clique para reverter a mudança na margem.

    3. Clique em Ver diferenças para fechar a visualização de comparação.

  5. Para salvar as edições, clique em Salvar mudanças no código.

  6. Para verificar as mudanças, faça o seguinte:

    1. Clique em Design.
    2. Clique em um componente e revise os detalhes da configuração.

Verificar seu modelo

Antes de compartilhar seu modelo com os desenvolvedores, verifique se ele funciona como você pretendia. Para verificar seu modelo, faça o seguinte:

  1. Crie um aplicativo com as seguintes configurações:
    1. Na lista Ambiente, selecione TESTE.
    2. Na lista Gravidade, selecione BAIXA.
  2. Implante o aplicativo. Para saber as etapas de implantação, consulte Implantar um aplicativo no console.
  3. Teste sua infraestrutura para garantir que ela atenda aos seus requisitos.
  4. Para evitar custos recorrentes, exclua a implantação de teste.

Compartilhar um modelo em um catálogo

Depois de verificar o modelo, você pode publicá-lo em um catálogo. O modelo pode ser usado por desenvolvedores de aplicativos que têm acesso a um espaço em que o catálogo é compartilhado.

  1. Na tela de design, clique em Adicionar ao catálogo.
  2. Para gerenciar os espaços em que o catálogo é compartilhado, consulte Gerenciar catálogos.

Revisar e compartilhar novamente seu modelo

À medida que você ganha experiência com o aplicativo e as necessidades da sua empresa evoluem, talvez seja necessário atualizar o modelo. Por exemplo, você pode decidir melhorar a performance de um serviço de back-end adicionando um serviço do Memorystore para armazenamento em cache.

Ao modificar um modelo, você cria uma revisão dele. Para aplicar as mudanças aos aplicativos atuais, os desenvolvedores precisam implantar os apps usando a revisão.

O App Design Center não publica automaticamente revisões de modelos em catálogos. Para compartilhar a revisão mais recente, publique o modelo no catálogo novamente.

Para criar uma nova revisão, faça o seguinte:

  1. No menu de navegação, clique em Modelos.

    Acessar "Modelos"

  2. Selecione o modelo de aplicativo que você quer revisar. A tela é aberta.

  3. Modifique o modelo para atender aos novos requisitos. Por exemplo, adicione e configure um novo componente.

  4. Para compartilhar a revisão mais recente com outros espaços, adicione o modelo ao catálogo novamente.

Excluir um modelo

Se você não precisar mais de um modelo, poderá excluí-lo.

Tela de design

  1. Na tela de design, clique em Ações.
  2. Clique em Excluir.

CLI da gcloud

Exclua um modelo de aplicativo.

```sh
gcloud design-center spaces application-templates delete APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE
```

Substitua:

  • APPLICATION_TEMPLATE: o ID do modelo do aplicativo que você quer excluir.
  • PROJECT: o ID do projeto de gerenciamento.
  • LOCATION: a região do modelo de aplicativo.
  • SPACE: o ID do seu espaço.

Para mais informações, consulte gcloud design-center spaces application-templates delete.

A seguir