O Firebase se integra ao Application Design Center (ADC) do Google Cloud para permitir que os clientes corporativos atendam às necessidades de padronização e governança, além de capacitar os desenvolvedores de apps a fazer entregas com rapidez. O uso do ADC garante que a infraestrutura siga os padrões e as práticas recomendadas da organização por meio de modelos predefinidos que definem proteções 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 do Firebase compatíveis
- Principais personas e os papéis do IAM necessários para controlar o acesso
- Fluxo de trabalho geral
Visão geral do ADC e do Firebase
Recomendamos que você consulte a documentação do Google Cloud para uma visão geral do ADC. A documentação do Google Cloud também fornece vários guias detalhados para o ADC, incluindo conceitos-chave e um guia de configuração inicial.
Ao usar o ADC, um "app" é definido como um agrupamento lógico de recursos e serviços que, juntos, oferecem uma função de negócios. Para desenvolvedores do Firebase, um "app" do ADC é equivalente a um projeto do Firebase, em que os apps iOS, Android e da Web registrados 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. A tela de design permite visualizar e criar diagramas de arquitetura da infraestrutura que você quer disponibilizar para seus apps.
O ADC tem o suporte do Terraform. Assim, você sempre terá acesso à definição de código da infraestrutura definida com 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 ao ADC com base em duas personas:
Engenheiro de plataforma: essa persona projeta, verifica e publica modelos reutilizáveis do ADC com aplicação de políticas em um catálogo do ADC.
Desenvolvedor de aplicativos: essa persona usa modelos publicados do ADC (como do catálogo do ADC da equipe) para configurar e implantar a infraestrutura. Eles também desenvolvem a base de código e os recursos do app.
Papéis do IAM necessários para controlar o acesso
Ao atribuir papéis do IAM, é possível controlar quais membros do projeto (ou principais) podem realizar tarefas específicas.
Por exemplo, é possível atribuir o papel de Administrador do Application Design Center
(roles/designcenter.admin) ao engenheiro de plataforma que precisa criar e
atribuir espaços, gerenciar catálogos e criar modelos. No entanto, é provável que você atribua apenas o papel de Editor de aplicativos (roles/designcenter.applicationEditor) a um desenvolvedor de aplicativos para que ele possa usar modelos, mas não criá-los.
A tabela a seguir descreve as tarefas relacionadas ao ADC, as personas pretendidas e os papéis necessários:
| Tarefa | Persona | Papel do IAM 1 |
|---|---|---|
| Criar e gerenciar modelos | ||
|
Gerenciar todo o ciclo de vida do ADC (incluindo o gerenciamento de espaços, catálogos, modelos, configuração e implantação de apps) |
Engenheiro de plataforma |
Administrador do Application Design Center ( roles/designcenter.admin |
| Criar e gerenciar modelos, além de configurar e implantar apps | Engenheiro de plataforma |
Usuário do Application Design Center ( roles/designcenter.user |
| Criar uma conta de serviço para implantar apps do ADC | ||
| Criar contas de serviço | Engenheiro de plataforma |
Criar contas de serviço ( roles/iam.serviceAccountCreator |
| Conceder a uma conta de serviço acesso a um projeto usado para a implantação do ADC | Engenheiro de plataforma |
Administrador do IAM do projeto ( roles/resourcemanager.projectIamAdmin |
| Configurar e implantar apps do 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 atuais definidos 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 do Google Cloud.
Fluxo de trabalho geral
Nesta seção, descrevemos um fluxo de trabalho geral para criar e usar um modelo do ADC. As etapas são marcadas com a persona que normalmente as executa.
- Etapa 1: configurar o 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 (desenvolvedor de aplicativos)
Etapa 1: configurar o ADC (engenheiro de plataforma)
A persona do engenheiro de plataforma (ou superior) conclui essas tarefas para configurar o ADC. Essas tarefas geralmente só precisam ser concluídas uma vez para que tudo esteja configurado para usar o 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 esse espaço (e a pasta e o catálogo) está compartilhado com todas as pessoas com quem 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 os papéis do IAM necessários para controlar o acesso.
Pré-provisionar projetos.
Crie um ou mais projetos do Google Cloud na pasta. Verifique se você vinculou uma conta do Cloud Billing a esses projetos. Esses projetos serão usados pelo desenvolvedor de aplicativos quando ele implantar a infraestrutura definida no modelo.
Configurar 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 tem a opção de usar sua própria conta de serviço com as permissões que considerar apropriadas para desenvolvedores de aplicativos.
Etapa 2: criar um modelo (engenheiro de plataforma)
A persona de engenheiro de plataforma usa a tela de design ou até mesmo Gemini Cloud Assist para criar um novo modelo ADC.
Definir 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) os desenvolvedores de aplicativos podem usar.
Por exemplo, o modelo pode definir recursos como estes:
- Os desenvolvedores de aplicativos podem criar apps para iOS, Android e apps da web que usam os recursos.
- Os desenvolvedores de aplicativos podem usar Firebase AI Logic, Firebase Authentication, Cloud Firestore e Firebase Security Rules nos apps (confira uma lista de todos os produtos do Firebase compatíveis com ADC).
- Firebase Security Rules são inicialmente configurados para negar todas as solicitações de acesso por padrão. Em seguida, quando o desenvolvedor de aplicativos usar esse modelo para a própria implantação, ele poderá alterar 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 dessas políticas. No momento, o ADC não permite definir políticas no nível do modelo.
É possível 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 precisarem apenas visualizar recursos no console do 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 do ADC da sua equipe. Esse catálogo precisa ser compartilhado com as pessoas apropriadas, em especial os desenvolvedores de aplicativos, para que eles possam usar os modelos (consulte a Etapa 1: configurar o 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, em seguida, implanta a infraestrutura.
Selecione um modelo e configure-o.
No catálogo do ADC, selecione um modelo e configure-o para criar um rascunho de aplicativo. As configurações disponíveis, como as 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 a implantação da 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 (desenvolvedor de aplicativos)
ADC ajuda a configurar o Firebase e a infraestrutura do Google Cloud (como provisionar recursos e ativar APIs). No entanto, ele não faz a codificação do app que usa esses recursos e APIs.
Confira algumas coisas importantes que o desenvolvedor de aplicativos precisa fazer:
Conecte a base de código do seu 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 projeto do Android.Mantenha o código e os recursos alinhados.
(Se estiver usando o Cloud Firestore) Atualize e publique o Firebase Security Rules para alinhar com o modelo de dados do Cloud Firestore para o app.
O que mais você sabe fazer?
- Monitorar os "apps" do ADC implantados, que são registrados automaticamente no App Hub. Isso permite o monitoramento, a observação de custos e a solução de problemas consolidados para os recursos do Firebase no contexto de implantações mais amplas do Google Cloud.