Inizia a utilizzare App Design Center (ADC) e Firebase

Firebase si integra con il Application Design Center (ADC) da 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 rapidamente. L'utilizzo di ADC garantisce che l'infrastruttura rispetti gli standard e le best practice dell'organizzazione tramite modelli predefiniti che definiscono i limiti per il provisioning delle risorse, la concessione delle autorizzazioni IAM e così via.

In questa pagina scoprirai:

Panoramica di ADC e Firebase

Ti consigliamo di consultare la Google Cloud documentazione per una panoramica di ADC. Anche la documentazione Google Cloud fornisce diverse guide approfondite per ADC, inclusi i concetti chiave e una guida alla configurazione iniziale.

Quando utilizzi ADC, un'"app" viene definita come un raggruppamento logico di risorse e servizi che insieme forniscono una funzione aziendale. Per gli sviluppatori di Firebase, puoi considerare un' ADC "app" come equivalente a un progetto Firebase, in cui le app iOS, Android e web registrate condividono e hanno accesso a tutte le stesse risorse e servizi per il progetto.

Per iniziare, ti consigliamo di utilizzare ADC tramite l'esperienza GUI denominata canvas di progettazione disponibile nella console Google Cloud. Il canvas di progettazione ti consente di visualizzare e creare diagrammi di architettura dell'infrastruttura che vuoi rendere disponibile per le tue app.

Tieni presente che ADC è basato su Terraform, quindi avrai sempre accesso alla definizione del codice dell'infrastruttura definita utilizzando ADC.

Prodotti Firebase supportati

Di seguito è riportato l'insieme iniziale di prodotti Firebase supportati che possono essere utilizzati con ADC:

Utenti tipo chiave per l'utilizzo di ADC

Un modo comune per comprendere e utilizzare ADC è suddividere le attività correlate a ADC in base a due utenti tipo:

  • Platform Engineer: questo utente tipo progetta, verifica e pubblica modelli ADC riutilizzabili e applicati dalle norme in un catalogo ADC.

  • Sviluppatore di applicazioni: questo utente tipo utilizza i modelli ADC pubblicati (ad esempio dal catalogo ADC del team) per configurare ed eseguire il deployment dell'infrastruttura. Sviluppa anche il codebase e le funzionalità effettivi dell'app.

Ruoli IAM richiesti per controllare l'accesso

Assegnando i 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) al Platform Engineer che deve creare e assegnare spazi, gestire cataloghi e progettare modelli. Tuttavia, probabilmente assegnerai solo il ruolo Editor di 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- , l'utente tipo previsto e i ruoli richiesti:

Attività Utente tipo Ruolo IAM 1
Creare e gestire i modelli
Gestire l'intero ciclo di vita di ADC
(inclusa la gestione di spazi, cataloghi, modelli, configurazione ed esecuzione del deployment delle app)
Platform Engineer Amministratore di App Design Center
(roles/designcenter.admin) nel progetto di gestione
Creare e gestire i modelli, nonché configurare ed eseguire il deployment delle app Platform Engineer Utente di App Design Center
(roles/designcenter.user) nel progetto di gestione
Creare un account di servizio per il deployment delle ADC app
Creare account di servizio Platform Engineer Creare account di servizio
(roles/iam.serviceAccountCreator) nel progetto di gestione
Concedere a un account di servizio l'accesso a un progetto utilizzato per il ADC deployment Platform Engineer Amministratore IAM progetto
(roles/resourcemanager.projectIamAdmin) nel progetto di deployment
Configurare ed eseguire il deployment delle appADC
Controllare l'intero ciclo di vita dell'app
(inclusa l'integrazione con il codice sorgente e i sistemi CI/CD)
Sviluppatore di applicazioni Amministratore di applicazioni
(roles/designcenter.applicationAdmin) nel progetto di gestione
Configurare ed eseguire il deployment delle app in base ai modelli e alle connessioni esistenti configurati da un amministratore Sviluppatore di applicazioni Editor di applicazioni
(roles/designcenter.applicationEditor) nel progetto di gestione

1 Diversi 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 ADC modello. I passaggi sono contrassegnati con l'utente tipo che in genere esegue il passaggio.

  1. Passaggio 1: configura ADC (Platform Engineer)
  2. Passaggio 2: crea un modello (Platform Engineer)
  3. Passaggio 3: utilizza un modello (sviluppatore di applicazioni)
  4. Passaggio 4: sviluppa l'app effettiva (sviluppatore di applicazioni)

Passaggio 1: configura ADC (Platform Engineer)

L'utente tipo Platform Engineer (o superiore) completa queste attività per configurare ADC. In genere, queste attività devono essere completate una sola volta per configurare tutto per l'utilizzo di ADC.

  1. Configurazione ADC iniziale.

    Segui i passaggi e le indicazioni riportati nella guida alla configurazione iniziale per ADC nella documentazione Google Cloud. Tieni presente che questa guida presuppone che 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) sia condiviso con tutti gli utenti con cui vuoi lavorare con ADC.

  2. Configura l'accesso e gli utenti per lo spazio.

    Segui i passaggi descritti in Gestire gli utenti dello spazio per ADC nella documentazione Google Cloud. Utilizza le indicazioni descritte in precedenza in questa pagina sui ruoli IAM richiesti per controllare l'accesso.

  3. Esegui il provisioning preliminare dei progetti.

    Crea uno o più nuovi Google Cloud progetti nella cartella. Assicurati che tu colleghi un account Cloud Billing a questi progetti. Questi progetti verranno utilizzati dallo sviluppatore di applicazioni quando esegue il deployment dell'infrastruttura definita nel modello.

  4. Configura un account di servizio di deployment.

    ADC gestisce il provisioning automatico delle risorse utilizzando un account di servizio con ambito limitato. In questo modo, lo sviluppatore di applicazioni non può utilizzare il proprio account per eseguire il deployment dell'infrastruttura.

    ADC può creare automaticamente un account di servizio con ambito limitato per tuo conto durante il test del deployment dei modelli creati. Hai anche la possibilità di utilizzare il tuo account di servizio con le autorizzazioni che ritieni appropriate per gli sviluppatori di applicazioni.

Passaggio 2: crea un modello (Platform Engineer)

L'utente tipo Platform Engineer utilizza il canvas di progettazione o anche Gemini Cloud Assist per creare un nuovo ADC modello.

  1. Definisci le risorse.

    Utilizzando il canvas di progettazione, trascina i componenti sul canvas e crea connessioni tra loro. Questi componenti ti consentono di definire quali servizi Firebase (e Google Cloud) vuoi che gli sviluppatori di applicazioni utilizzino.

    Ad esempio, il modello potrebbe definire risorse come le seguenti:

    • Gli sviluppatori di applicazioni possono sviluppare app 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 negare tutte le richieste di accesso per impostazione predefinita. Poi, quando lo sviluppatore di applicazioni utilizza questo modello per il proprio deployment, potrà modificare questi Security Rules in modo che siano in linea con il modello di accesso richiesto.
  2. Definisci le norme.

    Se vuoi definire le norme, ad esempio i ruoli IAM per l'infrastruttura di cui è stato eseguito il deployment o le regioni consentite per le risorse, devi impostarle nelle rispettive interfacce per queste norme. ADC al momento non supporta la definizione delle norme a livello di modello.

    Puoi assegnare ruoli IAM Firebase specifici ai membri del progetto a seconda di ciò che vuoi che facciano. Ad esempio, se devono solo visualizzare le risorse nella Firebase console, assegna loro il ruolo Visualizzatore Firebase (roles/firebase.viewer).

    Puoi impostare limitazioni regionali per le risorse a livello di cartella o organizzazione.

  3. Aggiungi il modello a un catalogo.

    Dopo aver testato il modello, aggiungilo al catalogo ADC 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)

L'utente tipo sviluppatore di applicazioni seleziona un modello predefinito, lo configura per il suo caso d'uso specifico e poi esegue il deployment dell'infrastruttura.

  1. 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 dal Platform Engineer durante la creazione del modello.

  2. Esegui il deployment dell'infrastruttura.

    Dopo aver creato la bozza dell'applicazione, esegui il deployment dell'app ADC in uno dei progetti di cui è stato eseguito il provisioning preliminare creati per il deployment dell'infrastruttura (vedi Passaggio 1: configura ADC sopra).

    Puoi visitare la Firebase console e visualizzare le risorse di cui è stato eseguito il provisioning e i servizi abilitati per il tuo progetto.

Passaggio 4: sviluppa l'app effettiva (sviluppatore di applicazioni)

ADC consente di configurare l'Google Cloud infrastruttura Firebase e Google Cloud (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 operazioni importanti che l'utente tipo sviluppatore di applicazioni deve eseguire:

  1. Collega il codebase dell'app a Firebase.

    Ottieni e poi 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.json alla directory appropriata all'interno del progetto Android.

  2. Mantieni allineati codice e risorse.

    (se utilizzi Cloud Firestore) Assicurati di aggiornare e pubblicare Firebase Security Rules in modo che siano in linea con il modello di dati di Cloud Firestore per l'app.

Cos'altro sai fare?

  • Monitora le "app" ADC di cui è stato eseguito il deployment, che vengono registrate automaticamente in App Hub.ADC In questo modo, è possibile eseguire il monitoraggio, l'osservazione dei costi e la risoluzione dei problemi consolidati per le risorse Firebase nel contesto di deployment Google Cloud più ampi.