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 corporativos atendam às necessidades de padronização e governança, além de capacitar os desenvolvedores de apps a fazer lançamentos com rapidez. O uso de ADC garante que a infraestrutura siga os padrões organizacionais e as práticas recomendadas por meio de modelos predefinidos que definem diretrizes para provisionamento de recursos, concessão de permissões do IAM etc.

Nesta página, saiba mais sobre:

Visão geral do ADC e do Firebase

Recomendamos consultar a Google Cloud documentação para uma visão geral de ADC. A documentação Google Cloud também oferece vários guias detalhados para ADC, incluindo conceitos importantes 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, um ADC "app" é equivalente a um projeto do Firebase, em que os 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 ADC usando a experiência de GUI chamada design canvas disponível no console Google Cloud. O design canvas permite visualizar e criar diagramas de arquitetura da infraestrutura que você quer disponibilizar para seus apps.

Observe que ADC é apoiado pelo Terraform, então você sempre terá acesso à definição de código da infraestrutura que é definida usando ADC.

Produtos do Firebase com suporte

Confira o conjunto inicial de produtos do Firebase com suporte que podem ser usados com ADC:

Principais personas para usar o ADC

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

  • Engenheiro de plataforma: essa persona projeta, verifica e publica modelos ADC reutilizáveis e aplicados por 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 a infraestrutura. Eles também desenvolvem a base de código e os recursos reais do app.

Papéis do IAM necessários para controlar o acesso

Ao atribuir papéis do IAM, você pode controlar 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 criar modelos. No entanto, você provavelmente só atribuiria o papel Editor de aplicativos (roles/designcenter.applicationEditor) a um desenvolvedor de aplicativos para que ele possa usar modelos, mas não criar modelos.

A tabela a seguir descreve as tarefas relacionadas ao 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 o gerenciamento de 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 ADC apps
Criar contas de serviço Engenheiro de plataforma Criar contas de serviço
(roles/iam.serviceAccountCreator) no projeto de gerenciamento
Conceder acesso a uma conta de serviço a um projeto usado para ADC implantação Engenheiro de plataforma Administrador de IAM do projeto
(roles/resourcemanager.projectIamAdmin) no projeto de implantação
Configurar e implantar ADC apps
Controlar o ciclo de vida completo 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 Google Cloud hierarquia.

Fluxo de trabalho geral

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

  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 seu app real (desenvolvedor de aplicativos)

Etapa 1: configurar ADC (engenheiro de plataforma)

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

  1. Configuração ADC inicial.

    Siga as etapas e orientações no guia de configuração inicial para ADC na documentação 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 esse espaço (e a pasta e o catálogo) são compartilhados com todos que você quer trabalhar com ADC.

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

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

  3. Projetos de pré-provisionamento.

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

  4. Configurar uma conta de serviço de implantaçã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.

    ADC pode criar automaticamente uma conta de serviço com escopo restrito em seu nome ao testar a implantação dos modelos criados. Você também tem a opção de trazer sua própria conta de serviço que tenha as permissões consideradas adequadas para desenvolvedores de aplicativos.

Etapa 2: criar um modelo (engenheiro de plataforma)

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

  1. Definir recursos.

    Usando o design canvas, 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 os seguintes:

    • Os desenvolvedores de aplicativos podem desenvolver 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 com suporte para ADC).
    • Firebase Security Rules são definidas inicialmente para negar todas as solicitações de acesso por padrão. Em seguida, quando o desenvolvedor de aplicativos usa esse modelo para a própria implantação, ele pode mudar esses Security Rules para se alinhar ao modelo de acesso necessário.
  2. Definir 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 interfaces respectivas dessas políticas. ADC no momento não oferece suporte à 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 Firebase console, atribua o papel 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. Adicionar o modelo a um catálogo.

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

Etapa 3: usar um modelo (desenvolvedor de aplicativos)

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

  1. Selecionar um modelo e configurá-lo.

    No catálogo 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 àquelas definidas pelo engenheiro de plataforma ao criar o modelo.

  2. Implantar a infraestrutura.

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

    Você pode acessar o Firebase console e conferir os recursos provisionados e os serviços ativados para seu projeto.

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

ADC ajuda a configurar a Google Cloud infraestrutura do Firebase e do Google Cloud (como provisionar recursos e ativar APIs). No entanto, ele não faz a codificação do app real que usa esses recursos e APIs.

Confira algumas ações importantes que a persona do desenvolvedor de aplicativos precisa realizar:

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

    Receba 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 projeto do Android.

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

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

O que mais você sabe fazer?

  • Monitore os "apps" do ADC implantadosADC, 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 Google Cloud.