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, incluindo produtos compatíveis do Firebase
- Principais personas e os papéis necessários do IAM para controlar o acesso
- Fluxo de trabalho geral
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:
- Firebase AI Logic
- Firebase Authentication
- Firebase App Check
- Cloud Firestore
- Firebase Security Rules
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 |
| Criar e gerenciar modelos, além de configurar e implantar apps | Engenheiro de plataforma |
Usuário do App Design Center ( roles/designcenter.user |
| 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 |
| 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 |
| 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 |
| Configurar e implantar apps com base em modelos e conexões configurados por um administrador | Desenvolvedor de aplicativos |
Editor de aplicativos ( roles/designcenter.applicationEditor |
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.
- Etapa 1: configurar ADC (engenheiro de plataforma)
- Etapa 2: criar um modelo (engenheiro de plataforma)
- Etapa 3: usar um modelo (desenvolvedor de aplicativos)
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.jsonao diretório apropriado no seu Projeto do Android.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.