Firebase si integra con Application Design Center (ADC) di Google Cloud per consentire ai clienti aziendali di soddisfare le esigenze di standardizzazione e governance, consentendo al contempo agli sviluppatori di app di eseguire il deployment con rapidità. L'utilizzo di ADC garantisce che l'infrastruttura rispetti gli standard e le best practice dell'organizzazione tramite template predefiniti che definiscono i guardrail per il provisioning delle risorse, la concessione delle autorizzazioni IAM e così via.
In questa pagina, scopri di più su:
- Panoramica di ADC e Firebase, inclusi i prodotti Firebase supportati
- Persone chiave e i ruoli IAM richiesti per controllare l'accesso
- Flusso di lavoro generale
Panoramica di ADC e Firebase
Ti consigliamo di consultare la documentazione di Google Cloud per una panoramica di ADC. La documentazione di Google Cloud fornisce anche diverse guide approfondite per ADC, tra cui concetti chiave e una guida alla configurazione iniziale.
Quando utilizzi ADC, un'"app" è definita come un raggruppamento logico di risorse e servizi che insieme forniscono una funzione aziendale. Per gli sviluppatori Firebase, puoi considerare un'ADC "app" come equivalente a un progetto Firebase, in cui le tue app web, Android e iOS registrate condividono e hanno accesso a tutte le stesse risorse e servizi per il progetto.
Per iniziare, ti consigliamo di utilizzare ADC tramite la sua esperienza GUI chiamata canvas di progettazione disponibile nella console Google Cloud. Il canvas di progettazione ti consente di visualizzare e creare diagrammi dell'architettura dell'infrastruttura che vuoi rendere disponibile per le tue app.
Tieni presente che ADC è supportato da Terraform, quindi avrai sempre accesso alla definizione del codice dell'infrastruttura definita utilizzando ADC.
Prodotti Firebase supportati
Ecco il set iniziale di prodotti Firebase supportati che possono essere utilizzati con ADC:
- Firebase AI Logic
- Firebase Authentication
- Firebase App Check
- Cloud Firestore
- Firebase Security Rules
Personaggi chiave per l'utilizzo di ADC
Un modo comune per comprendere e utilizzare ADC è suddividere le attività correlate a ADC in base a due buyer persona:
Ingegnere della piattaforma: questa persona progetta, verifica e pubblica modelli ADC riutilizzabili e applicati in base alle norme in un catalogo ADC.
Sviluppatore di applicazioni: questa persona utilizza modelli ADC pubblicati (ad esempio dal catalogo ADC del team) per configurare e implementare l'infrastruttura. Sviluppano anche il codebase e le funzionalità effettivi dell'app.
Ruoli IAM richiesti per controllare l'accesso
Assegnando ruoli IAM, puoi controllare quali membri del progetto (o entità) possono eseguire attività specifiche.
Ad esempio, puoi assegnare il ruolo Amministratore di App Design Center
(roles/designcenter.admin) all'ingegnere della piattaforma che deve creare e
assegnare spazi, gestire cataloghi e progettare modelli. Tuttavia, probabilmente assegnerai il ruolo Editor applicazioni (roles/designcenter.applicationEditor) a uno sviluppatore di applicazioni in modo che possa utilizzare i modelli, ma non crearli.
La seguente tabella descrive le attività correlate a ADC, il relativo personaggio di riferimento e i ruoli richiesti:
| Attività | Utente tipo | Ruolo IAM 1 |
|---|---|---|
| Creare e gestire i modelli | ||
|
Gestisci l'intero ADCciclo di vita (inclusi gestione di spazi, cataloghi, modelli, configurazione e deployment di app) |
Platform Engineer |
App Design Center Admin ( roles/designcenter.admin |
| Creare e gestire modelli, nonché configurare ed eseguire il deployment di app | Platform Engineer |
App Design Center User ( roles/designcenter.user |
| Crea un service account per il deployment delle app ADC | ||
| Creazione di account di servizio | Platform Engineer |
Crea service account ( roles/iam.serviceAccountCreator |
| Concedi a un service account l'accesso a un progetto utilizzato per il deployment di ADC | Platform Engineer |
Project IAM Admin ( roles/resourcemanager.projectIamAdmin |
| Configurare ed eseguire il deployment delle app ADC | ||
|
Controlla l'intero ciclo di vita dell'app (inclusa l'integrazione con il codice sorgente e i sistemi CI/CD) |
Sviluppatore di applicazioni |
Application Admin ( roles/designcenter.applicationAdmin |
| Configura ed esegui il deployment di app basate su modelli e connessioni esistenti configurati da un amministratore | Sviluppatore di applicazioni |
Application Editor ( roles/designcenter.applicationEditor |
1 Molti di questi ruoli devono essere impostati nel progetto di gestione, che è una risorsa di primo livello all'interno della gerarchia Google Cloud.
Flusso di lavoro generale
Questa sezione descrive un flusso di lavoro generale per la creazione e l'utilizzo di un modello ADC. I passaggi sono contrassegnati con la persona che di solito esegue il passaggio.
- Passaggio 1: configura ADC (Platform Engineer)
- Passaggio 2: crea un modello (Platform Engineer)
- Passaggio 3: utilizza un modello (sviluppatore di applicazioni)
- Passaggio 4: sviluppa la tua app effettiva (sviluppatore di applicazioni)
Passaggio 1: configura ADC (Platform Engineer)
La persona di Platform Engineer (o un ruolo di livello superiore) completa queste attività per configurare ADC. Queste attività in genere devono essere completate una sola volta per configurare tutto per l'utilizzo di ADC.
Configurazione iniziale di ADC.
Segui i passaggi e le indicazioni riportati nella guida alla configurazione iniziale per ADC nella documentazione di Google Cloud. Tieni presente che questa guida presuppone che tu configurerai limiti a livello di cartella.
Al termine della configurazione, dovresti avere uno spazio, ovvero un'area dedicata in cui un team può collaborare, creare modelli ed eseguire il deployment delle applicazioni. Assicurati che questo spazio (e la cartella e il catalogo) siano condivisi con tutti i collaboratori ADC.
Configura l'accesso e gli utenti per lo spazio.
Segui i passaggi descritti in Gestire gli utenti di uno spazio per ADC nella documentazione di Google Cloud. Segui le indicazioni descritte in precedenza in questa pagina relative ai ruoli IAM richiesti per controllare l'accesso.
Eseguire il provisioning preliminare dei progetti.
Crea uno o più nuovi progetti Google Cloud nella cartella. Assicurati di collegare un account Cloud Billing a questi progetti. Questi progetti verranno utilizzati dallo sviluppatore di applicazioni quando esegue il deployment dell'infrastruttura definita nel modello.
Configura un service account di deployment.
ADC gestisce il provisioning automatizzato delle risorse utilizzando un service account con ambito ristretto. In questo modo, lo sviluppatore di applicazioni non può utilizzare il proprio account per eseguire il deployment dell'infrastruttura.
ADC può creare automaticamente un service account con ambito ristretto per tuo conto mentre testi il deployment dei modelli che crei. Hai anche la possibilità di utilizzare un tuo service account con le autorizzazioni che ritieni appropriate per gli sviluppatori di applicazioni.
Passaggio 2: crea un modello (Platform Engineer)
La persona di Platform Engineer utilizza la tela di progettazione o anche Gemini Cloud Assist per creare un nuovo template ADC.
Definisci le risorse.
Utilizzando il canvas di progettazione, trascina i componenti sul canvas e crea collegamenti tra loro. Questi componenti definiscono i servizi Firebase (e Google Cloud) che vuoi che gli sviluppatori di applicazioni utilizzino.
Ad esempio, il modello potrebbe definire risorse come le seguenti:
- Gli sviluppatori di applicazioni possono sviluppare app per iOS, Android e web che utilizzano tutte le risorse.
- Gli sviluppatori di applicazioni possono utilizzare Firebase AI Logic, Firebase Authentication, Cloud Firestore e Firebase Security Rules nella loro app (consulta un elenco di tutti i prodotti Firebase supportati per ADC).
- Firebase Security Rules sono inizialmente impostate per rifiutare tutte le richieste di accesso per impostazione predefinita. Poi, quando lo sviluppatore di applicazioni utilizza questo modello per la propria implementazione, potrà modificare questi Security Rules per allinearli al modello di accesso richiesto.
Definisci le norme.
Se vuoi definire policy, ad esempio ruoli IAM per l'infrastruttura di cui è stato eseguito il deployment o regioni consentite per le risorse, devi impostarle nelle rispettive interfacce per queste policy. Al momento ADC non supporta la definizione di norme a livello di modello.
Puoi assegnare ruoli IAM Firebase specifici ai membri del progetto a seconda delle attività che vuoi che svolgano. Ad esempio, se devono solo visualizzare le risorse nella console Firebase, assegna loro il ruolo Visualizzatore Firebase (
roles/firebase.viewer).Puoi impostare limitazioni di regione per le risorse a livello di cartella o organizzazione.
Aggiungi il modello a un catalogo.
Dopo aver testato il modello, aggiungilo al catalogo ADC del tuo team. Questo catalogo deve essere condiviso con le persone appropriate, in particolare con gli sviluppatori di applicazioni, in modo che possano utilizzare i modelli (vedi Passaggio 1: configura ADC sopra).
Passaggio 3: utilizza un modello (sviluppatore di applicazioni)
La persona sviluppatore di applicazioni seleziona un modello predefinito, lo configura per il suo caso d'uso specifico e poi esegue il deployment dell'infrastruttura.
Seleziona un modello e configuralo.
Dal catalogo ADC, seleziona un modello e configuralo per creare una bozza di applicazione. Le configurazioni disponibili, come le possibili regioni per le risorse, sono limitate a quelle impostate dall'ingegnere della piattaforma al momento della creazione del modello.
Esegui il deployment dell'infrastruttura.
Dopo aver creato la bozza dell'applicazione, esegui il deployment dell'app ADC in uno dei progetti di pre-provisioning creati per il deployment dell'infrastruttura (vedi Passaggio 1: configura ADC sopra).
Puoi visitare la console Firebase e visualizzare le risorse di cui è stato eseguito il provisioning e i servizi abilitati per il tuo progetto.
Passaggio 4: sviluppa la tua app effettiva (sviluppatore di applicazioni)
ADC aiuta a configurare Firebase e l'Google Cloud infrastruttura (ad esempio il provisioning delle risorse e l'abilitazione delle API). Tuttavia, non esegue la codifica dell'app effettiva che utilizza queste risorse e API.
Di seguito sono riportate alcune attività importanti che deve svolgere l'utente tipo Sviluppatore di applicazioni:
Collega il codebase della tua app a Firebase.
Ottieni e aggiungi la configurazione Firebase al codebase di ogni app.
Ad esempio, se il modello consente un'app per Android, devi aggiungere il file
google-services.jsonalla directory appropriata all'interno del tuo progetto Android.Mantieni allineati codice e risorse.
(se utilizzi Cloud Firestore) Assicurati di aggiornare e pubblicare Firebase Security Rules in modo che sia in linea con il modello di dati Cloud Firestore per l'app.
Cos'altro puoi fare?
- Monitora le "app" ADCdi cui è stato eseguito il deployment, che vengono registrate automaticamente in App Hub. Ciò consente il monitoraggio, l'osservazione dei costi e la risoluzione dei problemi consolidati per le risorse Firebase nel contesto di implementazioni Google Cloud più ampie.