Começar a usar o App Design Center (ADC) e o Firebase

O Firebase se integra ao Application Design Center (ADC) do Google Cloud para que os clientes empresariais atendam às necessidades de padronização e governança, além de permitir que os desenvolvedores de apps enviem com velocidade. O uso do ADC garante que a infraestrutura siga os padrões e as práticas recomendadas da organização usando modelos predefinidos que definem barreiras de proteção para provisionar recursos, conceder permissões do IAM etc.

Nesta página, você vai aprender sobre:

Visão geral do ADC e do Firebase

Recomendamos consultar a documentação do Google Cloud para ter uma visão geral do ADC. A documentação do Google Cloud também oferece vários guias detalhados para ADC, incluindo conceitos principais e um guia de configuração inicial.

Ao usar ADC, um "app" é definido como um agrupamento lógico de recursos e serviços que, juntos, oferecem uma função comercial. Para desenvolvedores do Firebase, pense em um ADC "app" como equivalente a um projeto do Firebase, em que seus apps registrados para iOS, Android e Web compartilham e têm acesso aos mesmos recursos e serviços do projeto.

Para começar, recomendamos trabalhar com o ADC usando a experiência de GUI chamada tela de design disponível no console do Google Cloud. Com a tela de design, é possível visualizar e criar diagramas de arquitetura da infraestrutura que você quer disponibilizar para seus apps.

O ADC é compatível com o Terraform. Assim, você sempre terá acesso à definição de código da infraestrutura definida usando o ADC.

Produtos do Firebase com suporte

Confira o conjunto inicial de produtos do Firebase compatíveis que podem ser usados com o ADC:

Principais personas para usar o ADC

Uma maneira comum de entender e usar o ADC é dividir as tarefas relacionadas a ele com base em duas personas:ADC

  • Engenheiro de plataforma: essa persona cria, verifica e publica modelos ADC reutilizáveis e com aplicação de políticas em um catálogo ADC.

  • Desenvolvedor de aplicativos: essa persona usa modelos ADC publicados (como do catálogo ADC da equipe) para configurar e implantar infraestrutura. Eles também desenvolvem a base de código e os recursos reais do app.

Papéis do IAM obrigatórios para controlar o acesso

Ao atribuir papéis do IAM, você controla quais membros do projeto (ou principais) podem realizar tarefas específicas.

Por exemplo, você pode atribuir o papel Administrador do App Design Center (roles/designcenter.admin) ao engenheiro de plataforma que precisa criar e atribuir espaços, gerenciar catálogos e modelos de design. No entanto, é provável que você atribua a função Editor de aplicativos (roles/designcenter.applicationEditor) apenas a um desenvolvedor de aplicativos para que ele possa usar modelos, mas não criar modelos.

A tabela a seguir descreve as tarefas relacionadas a ADC, a persona pretendida e os papéis necessários:

Tarefa Persona Papel do IAM 1
Criar e gerenciar modelos
Gerenciar o ciclo de vida completo do ADC
, incluindo espaços, catálogos, modelos, configuração e implantação de apps.
Engenheiro de plataforma Administrador do App Design Center
(roles/designcenter.admin) no projeto de gerenciamento
Criar e gerenciar modelos, além de configurar e implantar apps Engenheiro de plataforma Usuário do App Design Center
(roles/designcenter.user) no projeto de gerenciamento
Criar uma conta de serviço para implantar apps ADC
Criar contas de serviço Engenheiro de plataforma Criar contas de serviço
(roles/iam.serviceAccountCreator) no projeto de gerenciamento
Conceda a uma conta de serviço acesso a um projeto usado para implantação do ADC Engenheiro de plataforma Administrador de projetos do IAM
(roles/resourcemanager.projectIamAdmin) no projeto de implantação
Configurar e implantar apps ADC
Controlar todo o ciclo de vida do app
(incluindo a integração com o código-fonte e os sistemas de CI/CD)
Desenvolvedor de aplicativos Administrador de aplicativos
(roles/designcenter.applicationAdmin) no projeto de gerenciamento
Configurar e implantar apps com base em modelos e conexões configurados por um administrador Desenvolvedor de aplicativos Editor de aplicativos
(roles/designcenter.applicationEditor) no projeto de gerenciamento

1 Vários desses papéis precisam ser definidos no projeto de gerenciamento, que é um recurso de nível superior na hierarquia Google Cloud.

Fluxo de trabalho geral

Esta seção descreve um fluxo de trabalho geral para criar e usar um modelo de ADC. As etapas são marcadas com a persona que normalmente as realiza.

  1. Etapa 1: configurar ADC (engenheiro de plataforma)
  2. Etapa 2: criar um modelo (engenheiro de plataforma)
  3. Etapa 3: usar um modelo (desenvolvedor de aplicativos)
  4. Etapa 4: desenvolver o app real (desenvolvedor de aplicativos)

Etapa 1: configurar o ADC (engenheiro de plataforma)

A persona de engenheiro de plataforma (ou superior) conclui essas tarefas para configurar ADC. Essas tarefas geralmente só precisam ser concluídas uma vez para que tudo esteja configurado para usar ADC.

  1. Configuração inicial do ADC.

    Siga as etapas e orientações no guia de configuração inicial para ADC na documentação do Google Cloud. Este guia pressupõe que você vai configurar limites no nível da pasta.

    Depois de concluir essa configuração, você terá um espaço, que é uma área dedicada para uma equipe colaborar, criar modelos e implantar aplicativos. Verifique se o espaço (e a pasta e o catálogo) está compartilhado com todos que você quer trabalhar ADC.

  2. Configure o acesso e os usuários do espaço.

    Siga as etapas em Gerenciar usuários do espaço para ADC na documentação do Google Cloud. Use as orientações descritas anteriormente nesta página sobre Papéis obrigatórios do IAM para controlar o acesso.

  3. Faça o pré-provisionamento de projetos.

    Crie um ou mais projetos Google Cloud na pasta. Vincule uma conta do Cloud Billing a esses projetos. Esses projetos serão usados pelo desenvolvedor de aplicativos ao implantar a infraestrutura definida no modelo.

  4. Configure uma conta de serviço de implantação.

    O ADC gerencia o provisionamento automatizado de recursos usando uma conta de serviço com escopo restrito. Isso impede que o desenvolvedor de aplicativos use a própria conta para implantar a infraestrutura.

    O ADC pode criar automaticamente uma conta de serviço com escopo restrito em seu nome enquanto você testa a implantação dos modelos criados. Você também pode usar sua própria conta de serviço com as permissões que considerar adequadas para desenvolvedores de aplicativos.

Etapa 2: criar um modelo (engenheiro de plataforma)

A persona do engenheiro de plataforma usa a tela de design ou até mesmo o Gemini Cloud Assist para criar um novo modelo de ADC.

  1. Defina os recursos.

    Usando a tela de design, arraste e solte componentes na tela e crie conexões entre eles. Esses componentes definem quais serviços do Firebase (e do Google Cloud) você quer que os desenvolvedores de aplicativos usem.

    Por exemplo, o modelo pode definir recursos como estes:

    • Os desenvolvedores de aplicativos podem criar apps para iOS, Android e Web que usam os recursos.
    • Os desenvolvedores de aplicativos podem usar Firebase AI Logic, Firebase Authentication, Cloud Firestore e Firebase Security Rules no app. Consulte uma lista de todos os produtos do Firebase compatíveis com ADC.
    • Firebase Security Rules são inicialmente definidos para negar todas as solicitações de acesso por padrão. Depois, quando o desenvolvedor de aplicativos usar esse modelo para a própria implantação, ele poderá mudar esses Security Rules para se alinhar ao modelo de acesso necessário.
  2. Defina políticas.

    Se você quiser definir políticas, como papéis do IAM para a infraestrutura implantada ou regiões permitidas para recursos, defina-as nas respectivas interfaces. No momento, ADC não aceita a definição de políticas no nível do modelo.

    Você pode atribuir papéis específicos do IAM do Firebase aos membros do projeto, dependendo do que você quer que eles façam. Por exemplo, se eles só precisarem visualizar recursos no console Firebase, atribua a eles o papel de Leitor do Firebase (roles/firebase.viewer).

    É possível definir limitações de região para recursos no nível da pasta ou da organização.

  3. Adicione o modelo a um catálogo.

    Depois de testar o modelo, adicione-o ao catálogo ADC da sua equipe. Ele precisa ser compartilhado com as pessoas certas, principalmente os desenvolvedores de aplicativos, para que possam usar os modelos (consulte Etapa 1: configurar ADC acima).

Etapa 3: usar um modelo (desenvolvedor de aplicativos)

A persona de desenvolvedor de aplicativos seleciona um modelo predefinido, configura-o para o caso de uso específico e implanta a infraestrutura.

  1. Selecione e configure um modelo.

    No catálogo do ADC, selecione um modelo e configure-o para criar um rascunho de aplicativo. As configurações disponíveis, como possíveis regiões para recursos, são limitadas às definidas pelo engenheiro de plataforma ao criar o modelo.

  2. Implante a infraestrutura.

    Depois que o rascunho do aplicativo for criado, implante o app ADC em um dos projetos pré-provisionados criados para implantação de infraestrutura (consulte Etapa 1: configurar o ADC acima).

    Acesse o console do Firebase e confira os recursos provisionados e os serviços ativados para seu projeto.

Etapa 4: desenvolver o app real (desenvolvedor de aplicativos)

O ADC ajuda a configurar o Firebase e a Google Cloud infraestrutura (como provisionamento de recursos e ativação de APIs). No entanto, ele não faz a programação do app real que usa esses recursos e APIs.

Confira algumas ações importantes que o perfil de desenvolvedor de aplicativos precisa realizar:

  1. Conecte a base de código do app ao Firebase.

    Obtenha e adicione a configuração do Firebase à base de código de cada app.

    Por exemplo, se o modelo permitir um app Android, adicione o arquivo google-services.json ao diretório apropriado no seu Projeto do Android.

  2. Mantenha o código e os recursos alinhados.

    (se estiver usando Cloud Firestore) Atualize e publique Firebase Security Rules para alinhar com o modelo de dados Cloud Firestore do app.

O que mais você pode fazer?

  • Monitore os ADC "apps" implantados, que são registrados automaticamente no App Hub. Isso permite o monitoramento consolidado, a observação de custos e a solução de problemas dos recursos do Firebase no contexto de implantações mais amplas do Google Cloud.