Progettare modelli compositi

Quando vuoi creare applicazioni complesse a partire da blocchi di costruzione più piccoli e riutilizzabili, crea modelli compositi. Ad esempio, potresti creare un modello composito che include diversi modelli di applicazione collegati.

Puoi anche creare modelli compositi per modellare e pacchettizzare le unità di deployment per un'offerta SaaS di cui esegui il deployment con App Lifecycle Manager. Per ulteriori informazioni, consulta la sezione Modellare e pacchettizzare le unità di deployment.

Progetta modelli compositi aggiungendo e collegando modelli di applicazione standard e singoli componenti. Questo approccio modulare ti aiuta a ottenere quanto segue:

  • Accelerare lo sviluppo: assembla app complesse da componenti più piccoli. Puoi riutilizzare ogni modello di applicazione standard in più modelli compositi.
  • Abilita lo sviluppo parallelo: consente ai team modulari di specializzarsi in blocchi predefiniti specifici. Ad esempio, un team di database può occuparsi dell'archiviazione e dell'analisi dei dati con una dipendenza minima dal team di logica dell'applicazione.
  • Riduzione dell'impatto delle vulnerabilità: gli sviluppatori possono aggiornare o correggere un blocco di costruzione senza eseguire nuovamente il deployment dell'intera applicazione.
  • Migliora la security posture: limita l'accesso creando service account distinti per eseguire il deployment di ogni componente di base. Assicurati che ogni team disponga solo delle autorizzazioni per i building block che configura.

Questo documento mostra come progettare, verificare e condividere un modello composito.

Prima di iniziare

Devi disporre di uno dei seguenti ruoli nella cartella abilitata per le app o nel progetto di gestione:

  • Application Design Center Admin (roles/designcenter.admin)
  • Application Design Center User (roles/designcenter.user)

Per utilizzare i tuoi modelli di applicazioni standard come componenti di base, imposta le variabili di input e output per stabilire le variabili configurabili e crea connessioni tra i modelli di applicazioni. Per ulteriori informazioni, consulta le seguenti risorse:

Crea un modello di applicazione composita

Crea modelli compositi quando vuoi progettare e condividere applicazioni complesse. Puoi aggiungere e collegare i seguenti elementi nel design del modello:

  • Modelli di applicazioni standard: scegli tra i seguenti modelli esistenti:

  • Componenti: seleziona una delle seguenti risorse Google Cloud :

Specifica i dettagli del modello

I dettagli del modello ti aiutano a classificarlo e a consentire agli sviluppatori di decidere se utilizzarlo.

Per inserire i dettagli del modello:

Canvas di progettazione

  1. Dal menu di navigazione, fai clic su Modelli.

    Vai ai Modelli

  2. Nell'elenco Crea modello, seleziona Modello composito.

  3. Il campo ID modello viene compilato automaticamente. In alternativa, inserisci un identificatore univoco per il modello. Questo campo è obbligatorio.

  4. Nel campo Nome modello, inserisci un identificatore leggibile da mostrare nella Google Cloud console.

    Se non fornisci un nome, in questo campo viene copiato l'ID modello.

  5. Nel campo Descrizione, inserisci una breve spiegazione dello scopo dell'applicazione.

  6. Fai clic su Crea modello. Viene visualizzato il canvas di progettazione.

Interfaccia a riga di comando gcloud

Crea un nuovo template di applicazione composito.

gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE \
--display-name=DISPLAY_NAME \
--description=DESCRIPTION \
--composition-type=COMPOSITE

Sostituisci quanto segue:

  • APPLICATION_TEMPLATE: l'ID del modello per il modello di applicazione che vuoi creare.
  • PROJECT: l'ID progetto di gestione.
  • LOCATION: La regione del modello di applicazione.
  • SPACE: il tuo ID spazio.
  • DISPLAY_NAME: un nome da visualizzare nella console Google Cloud .
  • DESCRIPTION: una breve descrizione.

Per saperne di più, vedi gcloud design-center spaces application-templates create.

Progettare il modello

Progetta il tuo modello composito aggiungendo e collegando modelli di applicazione standard e componenti ai seguenti punti di partenza:

Man mano che progetti il modello, App Design Center genera il codice Terraform per riflettere i dettagli di progettazione e configurazione.

Per progettare il modello:

Canvas di progettazione

  1. Nell'area di progettazione, seleziona Progettazione per visualizzare la tela.

  2. Per iniziare, esegui una delle seguenti operazioni:

    • Per iniziare da un modello fornito da Google, fai clic sul nome del modello nell'area Inizia del canvas.

    • Per iniziare da una tela vuota, vai al passaggio successivo.

  3. Per aggiungere un modello di applicazione standard al canvas:

    1. Nell'area Componenti, fai clic su Incorpora modelli.

    2. Per aggiungere un modello esistente, fai clic su un modello in uno dei seguenti elenchi:

      • Modelli: modelli di applicazioni standard presenti nel catalogo del tuo spazio o condivisi con il tuo spazio.
      • Modelli Google: modelli di applicazioni standard creati da Google e aggiunti al catalogo Google.
    3. Per aggiungere il modello selezionato alla tela, fai clic su Seleziona.

  4. Per creare un nuovo modello di applicazione standard, fai clic su Crea un nuovo modello. Viene visualizzata la pagina Crea nuovo modello.

    Per ulteriori informazioni, consulta Progettare modelli di applicazioni standard.

  5. Per aggiungere un componente al canvas, fai clic su un componente nell'area Componenti.

  6. Per creare un canale di comunicazione tra modelli e componenti, procedi in uno dei seguenti modi:

    • Trascina un punto blu di un componente di base a un punto blu di un altro componente di base.

    • Per aggiungere un componente connesso a un componente esistente, fai clic su Aggiungi e seleziona il componente da aggiungere.

    Per i dettagli della connessione, consulta la documentazione di configurazione per ogni risorsa supportata.

  7. Per rimuovere un componente di base o una connessione:

    1. Nel canvas, fai clic sul componente di base o sulla connessione.

    2. Nell'area Configurazione, fai clic su Elimina.

    3. Nel campo, inserisci delete.

    4. Fai clic su Elimina.

Interfaccia a riga di comando gcloud

  1. Identifica gli URI delle revisioni dei modelli per i componenti di base nel catalogo del tuo spazio.

    gcloud design-center spaces shared-templates list \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE
    

    Sostituisci quanto segue:

    • PROJECT: l'ID progetto di gestione.
    • LOCATION: La regione del modello di applicazione.
    • SPACE: il tuo ID spazio.

    Per saperne di più, consulta gcloud design-center spaces shared-templates list.

  2. Identifica gli URI di revisione del modello per i componenti di base del catalogo Google che vuoi aggiungere al modello.

    gcloud design-center spaces shared-templates list \
    --google-catalog \
    --location=us-central1
    

    Per saperne di più, consulta gcloud design-center spaces shared-templates list.

  3. Aggiungi un modello o un componente di applicazione standard al modello composito.

    gcloud design-center spaces application-templates components create COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --shared-template-revision-uri=SHARED_TEMPLATE_URI
    

    Sostituisci quanto segue:

    • COMPONENT: l'ID del modello o del componente dell'applicazione standard che vuoi aggiungere al modello.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: La regione del modello di applicazione.
    • SPACE: il tuo ID spazio.
    • APPLICATION_TEMPLATE: l'ID del modello per il modello di applicazione composita a cui stai aggiungendo il modello di applicazione o il componente standard.
    • SHARED_TEMPLATE_URI: l'URI del modello di applicazione standard o del modello condiviso del componente. Ad esempio, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Per saperne di più, consulta gcloud design-center spaces application-templates components create.

  4. Aggiungi un secondo modello o componente di applicazione standard al modello.

    gcloud design-center spaces application-templates components create COMPONENT_2 \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --shared-template-revision-uri=SHARED_TEMPLATE_URI_2
    

    Sostituisci quanto segue:

    • COMPONENT_2: l'ID del secondo modello di applicazione standard o componente che vuoi aggiungere al modello.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: La regione del modello di applicazione.
    • SPACE: il tuo ID spazio.
    • APPLICATION_TEMPLATE: l'ID del modello per il modello composito a cui stai aggiungendo il modello o il componente dell'applicazione standard.
    • SHARED_TEMPLATE_URI_2: Il secondo modello di applicazione standard o l'URI del modello condiviso del componente. Ad esempio, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    Per saperne di più, consulta gcloud design-center spaces application-templates components create.

  5. Crea una connessione tra i modelli o i componenti standard dell'applicazione.

    gcloud design-center spaces application-templates components connections create CONNECTION \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --component=COMPONENT \
    --destination-component-uri=COMPONENT_2
    

    Sostituisci quanto segue:

    • CONNECTION: l'ID della connessione che vuoi aggiungere al modello.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: La regione del modello di applicazione.
    • SPACE: il tuo ID spazio.
    • APPLICATION_TEMPLATE: l'ID del modello per il modello di applicazione in cui stai aggiungendo la connessione.
    • COMPONENT: L'ID del modello o del componente dell'applicazione standard di origine.
    • COMPONENT_2: L'ID del modello di applicazione standard o del componente di destinazione.

    Per saperne di più, consulta gcloud design-center spaces application-templates components connections create.

Configurare i valori predefiniti per i componenti

Per ogni componente che aggiungi a un modello, puoi specificare i dettagli di configurazione predefiniti, ad esempio il progetto e la posizione di deployment della risorsa. App Design Center applica questi valori predefiniti quando un'applicazione viene creata da questo modello.

Gli sviluppatori di applicazioni possono anche modificare i dettagli di connessione se la configurazione predefinita non soddisfa i loro requisiti. Ad esempio, puoi modificare i nomi delle chiavivariabile di ambientee, cambiare le porte di connessione o aggiungere ruoli aggiuntivi ai service account quando crei un'applicazione.

Prima di eseguire il deployment di un'applicazione, gli sviluppatori possono visualizzare e modificare i valori predefiniti che hai configurato nel modello. Gli sviluppatori devono configurare i dettagli richiesti per ogni risorsa supportata.

Per configurare i componenti e le connessioni:

Canvas di progettazione

  1. Nell'area di progettazione, fai clic su un componente.

  2. Nell'area Configurazione, seleziona il progetto in cui vuoi eseguire il deployment della risorsa dall'elenco ID progetto. Seleziona un progetto con le seguenti qualifiche:

  3. Configura le impostazioni aggiuntive per la risorsa. Ad esempio, per Cloud SQL, potresti configurare quanto segue:

    • Regione
    • Configurazione del backup
    • Flag di database
    • Configurazione IP

    Per i link alla documentazione di configurazione di ciascun componente, consulta Risorse supportate.

  4. Quando colleghi i componenti nel canvas di progettazione, vengono utilizzati i valori di configurazione predefiniti per creare la connessione. Per aggiungere o modificare i dettagli della connessione:

    1. Nel canvas di progettazione, fai clic sulla connessione tra due componenti. Si apre il riquadro Connessione, che mostra i parametri di connessione.

    2. Esegui una delle seguenti operazioni:

      • Per modificare un parametro di connessione esistente, fai clic su Modifica.

      • Per aggiungere un nuovo parametro di connessione, fai clic su Aggiungi parametro.

    3. Aggiorna i campi Chiave e Valore. Ad esempio, potresti voler modificare i seguenti dettagli:

      • I nomi delle chiavi variabile di ambiente da allineare ai requisiti dell'applicazione.
      • Il valore della porta di connessione.
      • I ruoli aggiunti a un account di servizio.
  5. Fai clic su Salva.

Interfaccia a riga di comando gcloud

  1. Descrivi ogni componente nel modello di applicazione per visualizzare i parametri dei componenti.

    gcloud design-center spaces application-templates components describe COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE
    

    Sostituisci quanto segue:

    • COMPONENT: l'ID del componente che vuoi descrivere.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: La regione del modello di applicazione.
    • SPACE: il tuo ID spazio.
    • APPLICATION_TEMPLATE: l'ID del modello per il modello di applicazione.

    Per maggiori informazioni, vedi gcloud design-center spaces application-templates components describe.

  2. Per ogni componente che vuoi modificare, crea un file JSON nella tua home directory contenente i valori dei parametri.

    Ad esempio, potresti creare il seguente file per un componente Cloud Run:

      [
          {
            "key": "service_name",
            "value": "frontend-service"
          },
          {
            "key": "project_id",
            "value": "DEPLOYMENT_PROJECT"
          }
      ]
    
  3. Aggiorna ogni componente nel modello di applicazione per configurare i parametri richiesti.

    gcloud design-center spaces application-templates components update COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --parameters=PARAMETERS_FILE_PATH \
    --application-template=APPLICATION_TEMPLATE
    

    Sostituisci quanto segue:

    • COMPONENT: l'ID del componente da aggiornare.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: La regione del modello di applicazione.
    • SPACE: il tuo ID spazio.
    • PARAMETERS_FILE_PATH: un file JSON che include i parametri del componente.
    • APPLICATION_TEMPLATE: l'ID del modello per il modello di applicazione.

    Per saperne di più, consulta gcloud design-center spaces application-templates components update.

  4. Descrivi i collegamenti dei componenti.

    gcloud design-center spaces application-templates components connections describe CONNECTION \
    --component=COMPONENT \
    --application-template=APPLICATION_TEMPLATE \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE
    

    Sostituisci quanto segue:

    • CONNECTION: l'ID connessione.
    • COMPONENT: l'ID componente.
    • APPLICATION_TEMPLATE: l'ID del modello.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: La regione del modello di applicazione.
    • SPACE: il tuo ID spazio.

    Per saperne di più, consulta gcloud design-center spaces application-templates components connections describe.

  5. Modifica i parametri di connessione dei componenti.

    gcloud design-center spaces application-templates components connections update CONNECTION \
    --component=COMPONENT \
    --application-template=APPLICATION_TEMPLATE \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --source-component-parameters='[{"key": SOURCE_KEY, "value": SOURCE_VALUE}]'
    

    Sostituisci quanto segue:

    • CONNECTION: l'ID connessione.
    • COMPONENT: l'ID componente.
    • APPLICATION_TEMPLATE: l'ID del modello.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: La regione del modello di applicazione.
    • SPACE: il tuo ID spazio.
    • SOURCE_KEY: La nuova chiave del parametro.
    • SOURCE_VALUE: il nuovo valore parametro.

    Per saperne di più, consulta gcloud design-center spaces application-templates components connections update.

Configurare i modelli di applicazioni standard

Quando gli sviluppatori eseguono il deployment del tuo modello composito come applicazione, viene creata un'applicazione per ciascuno dei seguenti elementi:

  • Ogni gruppo di modelli di applicazioni standard.
  • Ogni gruppo di componenti.

Puoi fornire valori predefiniti per ogni gruppo. Ad esempio, puoi includere il progetto di deployment, la regione e i proprietari. Quando gli sviluppatori eseguono il deployment dell'applicazione in App Design Center, possono utilizzare i valori predefiniti o specificare i propri dettagli per ogni applicazione.

Per fornire i dettagli predefiniti dell'applicazione per ogni gruppo:

Canvas di progettazione

  1. Nell'area di progettazione, fai clic su un modello di applicazione standard.

    Si apre il riquadro Modello incorporato.

  2. Nell'area Configurazione, inserisci i dettagli dell'applicazione.

    Per saperne di più, consulta Creare una bozza di applicazione.

Interfaccia a riga di comando gcloud

Per saperne di più, vedi Progettare il modello.

Verifica il modello

Prima di condividere il modello composito con gli sviluppatori, esegui il deployment e verifica il modello in App Design Center. Questo passaggio ti aiuta a verificare la funzionalità prima di un deployment scalabile su più macchine.

Per verificare il modello:

  1. Nell'area di lavoro di progettazione, fai clic su Continua e seleziona Crea applicazione da implementare.

    Si apre il riquadro Crea un'applicazione.

  2. Nell'area Dettagli applicazione composita, inserisci i dettagli dell'applicazione.

    Per saperne di più, consulta Creare una bozza di applicazione.

  3. Fai clic su Avanti.

  4. Per ogni componente di base aggiunto al modello composito, verrà creata un'applicazione al momento del deployment. Configura ogni applicazione e fai clic su Avanti.

    Per saperne di più, consulta Creare una bozza di applicazione.

  5. Testa l'applicazione di cui è stato eseguito il deployment per assicurarti che soddisfi i tuoi requisiti.

  6. Per evitare costi ricorrenti, elimina il deployment di test.

Crea un deployment scalato

Per eseguire il deployment e gestire più istanze del modello composito, utilizza App Lifecycle Manager.

  1. Verifica il modello in App Design Center.

  2. Nell'area di lavoro di progettazione, fai clic su Continua e seleziona Esegui il deployment su larga scala con App Lifecycle Manager.

    Viene visualizzata la pagina Unità App Lifecycle Manager.

  3. Per la procedura di deployment, vedi Eseguire il deployment di un'offerta SaaS.

Condividere il modello

Per rendere disponibile il modello agli sviluppatori, puoi aggiungerlo a un catalogo e condividerlo. Quando aggiungi un modello a un catalogo, il modello è disponibile come origine dell'applicazione negli spazi in cui il catalogo è condiviso.

Per condividere il modello:

  1. Nell'area di progettazione, fai clic su Aggiungi al catalogo.

  2. Per gestire gli spazi in cui viene condiviso il catalogo, vedi Gestire i cataloghi.

Rivedi e condividi nuovamente il modello

Man mano che acquisisci esperienza con l'applicazione e le esigenze della tua attività si evolvono, potresti voler aggiornare il modello. Ad esempio, potresti decidere di migliorare le prestazioni di un servizio di backend aggiungendo un servizio Memorystore per la memorizzazione nella cache.

Quando modifichi un modello, crei una revisione del modello. Per applicare le modifiche alle applicazioni esistenti, gli sviluppatori devono eseguire il deployment delle applicazioni utilizzando la revisione.

App Design Center non pubblica automaticamente le revisioni dei modelli nei cataloghi. Per condividere l'ultima revisione, pubblica di nuovo il modello nel catalogo.

Per creare una nuova revisione:

  1. Dal menu di navigazione, fai clic su Modelli.

    Vai ai Modelli

  2. Seleziona il modello di richiesta che vuoi rivedere. Si apre il canvas.

  3. Modifica il modello in base ai nuovi requisiti. Ad esempio, aggiungi e configura un nuovo componente.

  4. Per condividere l'ultima revisione con altri spazi, aggiungi di nuovo il modello al tuo catalogo.

Eliminare un modello

Se non hai più bisogno di un modello, puoi eliminarlo.

Canvas di progettazione

  1. Nell'area di progettazione, fai clic su Azioni.
  2. Fai clic su Elimina.

Interfaccia a riga di comando gcloud

Elimina un modello di applicazione.

```sh
gcloud design-center spaces application-templates delete APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE
```

Sostituisci quanto segue:

  • APPLICATION_TEMPLATE: l'ID del modello per il modello di applicazione che vuoi eliminare.
  • PROJECT: l'ID progetto di gestione.
  • LOCATION: La regione del modello di applicazione.
  • SPACE: il tuo ID spazio.

Per saperne di più, consulta gcloud design-center spaces application-templates delete.

Passaggi successivi