Progettare modelli di applicazioni standard

I modelli di applicazione standard in Application Design Center ti consentono di definire un'architettura preferita e di gestire le risorse e le configurazioni utilizzate dai team di sviluppo nei loro deployment. Puoi condividere un modello standard con i membri del tuo spazio, pubblicare il modello in un catalogo per altri spazi o incorporare il modello in un template composito più grande. Quando gli sviluppatori creano un'applicazione da un modello standard, possono configurare ogni componente senza aggiungerne o rimuoverne altri. Ogni modello genera un codice Terraform che gli sviluppatori possono scaricare o di cui possono eseguire il deployment direttamente da App Design Center.

Prima di iniziare

Per eseguire le attività descritte in questo documento, chiedi all'amministratore di concederti i ruoli necessari per la cartella app o il progetto di gestione, come elencato nella tabella seguente:

Attività Ruoli obbligatori
Creare, progettare e modificare modelli di applicazioni standard Application Design Center Admin (roles/designcenter.admin) o
Application Design Center User (roles/designcenter.user)
Pubblica o condividi modelli standard in un catalogo Application Design Center Admin (roles/designcenter.admin)

Per saperne di più sui ruoli, consulta Controllo dell'accesso con IAM.

Crea un modello di applicazione standard

Crea modelli di applicazioni standard per condividere il design dell'architettura con i team di sviluppo. Puoi aggiungere i seguenti componenti al design del modello:

  • Asset: risorse di alto livello che ti aiutano a controllare altre risorse, come i service account.

  • Servizi: interfacce di rete o API utilizzate sulla rete, come Cloud Storage e Vertex AI.

  • Workload: deployment binari che eseguono funzioni aziendali, come Cloud Run e Compute Engine.

Puoi scegliere tra i seguenti componenti:

Durante la progettazione del template, App Design Center genera il codice Terraform per riflettere i dettagli di progettazione e configurazione.

Specifica i dettagli del template

I dettagli del template ti aiutano a classificare il template e aiutano gli sviluppatori a decidere se utilizzarlo.

Per inserire i dettagli del modello:

Canvas di progettazione

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

    Vai ai Modelli

  2. Fai clic su Crea template.

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

  4. Nel campo Nome template, inserisci un identificatore leggibile da visualizzare nella console Google Cloud .

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

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

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

gcloud CLI

Crea un nuovo modello di applicazione.

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

Sostituisci quanto segue:

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

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

Progetta il tuo modello

Progetta il template aggiungendo e collegando i componenti. L'esempio seguente include tre componenti collegati nel canvas di progettazione.

Un'applicazione web a tre livelli nel canvas di progettazione. L'applicazione include componenti di frontend, backend e database.

Puoi progettare il tuo modello aggiungendo componenti ai seguenti punti di partenza:

Per aiutare gli sviluppatori a configurare un'applicazione in base al tuo template, designa variabili di input e output specifiche. Le variabili ti aiutano a definire quanto segue:

  • Input specifici che gli sviluppatori devono fornire quando creano un'applicazione basata sul tuo template. Ad esempio, puoi fornire valori di variabili distinti per ogni ambiente quando esegui il deployment di un'applicazione in ambienti di sviluppo, produzione e test. Queste variabili vengono esposte automaticamente nei file Terraform variables.tf e outputs.tf generati.

  • Connessioni tra due template di applicazione standard incorporati in un template composito. Ad esempio, per creare una connessione in un template composito, un template di database potrebbe generare una variabile del nome del database che viene utilizzata come input per un template di logica dell'applicazione.

Per progettare il modello:

Canvas di progettazione

  1. Nel canvas di progettazione, seleziona Progetta per visualizzare il canvas.

  2. Per iniziare, esegui una delle seguenti operazioni:

    • Per iniziare da zero, fai clic su un componente nell'area Componenti per aggiungerlo all'area del canvas.

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

    • Per utilizzare la chat in linguaggio naturale per generare un template, fai clic su Applicazione personalizzata con Gemini.

  3. Per creare un canale di comunicazione tra i componenti, esegui una delle seguenti operazioni:

    • Per collegare due componenti sul canvas, trascina un punto blu di un componente su un punto blu di un altro componente.

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

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

  4. Per rimuovere un componente o una connessione:

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

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

    3. Nel campo, inserisci delete.

    4. Fai clic su Elimina.

  5. Per specificare le variabili di input e output per il template, segui questi passaggi:

    1. Fai clic su Dettagli modello.

    2. Nel riquadro Dettagli modello, fai clic sulla scheda Variabili.

    3. Nell'area Modifica variabile, segui questi passaggi.

      1. Dall'elenco Componente, seleziona il componente su cui si basa la variabile.

      2. Dall'elenco Tipo di variabile, seleziona una delle seguenti opzioni:

        • Output: il componente restituisce un valore che potrebbe essere richiesto per una connessione. Ad esempio, un servizio Cloud Run potrebbe restituire un indirizzo IP.

        • Input: il componente richiede l'input dello sviluppatore o di un altro modello di applicazione standard. Ad esempio, un modello di trattamento dati potrebbe richiedere un nome di database da un modello di archiviazione dei dati.

      3. Per creare un'altra variabile, fai clic su Aggiungi variabile e ripeti questi passaggi.

gcloud CLI

  1. Identifica gli URI delle revisioni dei template per i componenti del catalogo Google che vuoi aggiungere al template.

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

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

  2. Aggiungi un componente al modello di applicazione.

    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 componente che vuoi aggiungere al template.
    • PROJECT: l'ID del tuo progetto di gestione.
    • LOCATION: la regione del template dell'applicazione.
    • SPACE: l'ID dello spazio.
    • APPLICATION_TEMPLATE: l'ID del template dell'applicazione a cui stai aggiungendo il componente.
    • SHARED_TEMPLATE_URI: 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.

  3. Aggiungi un secondo componente 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 componente del secondo componente che vuoi aggiungere al template.
    • PROJECT: l'ID del tuo progetto di gestione.
    • LOCATION: la regione del template dell'applicazione.
    • SPACE: l'ID dello spazio.
    • APPLICATION_TEMPLATE: l'ID del template dell'applicazione a cui stai aggiungendo il componente.
    • SHARED_TEMPLATE_URI_2: l'URI del modello condiviso del secondo 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. Crea una connessione tra i due componenti.

    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 connessione per la connessione che vuoi aggiungere al template.
    • PROJECT: l'ID del tuo progetto di gestione.
    • LOCATION: la regione del template dell'applicazione.
    • SPACE: l'ID dello spazio.
    • APPLICATION_TEMPLATE: l'ID del template dell'applicazione a cui stai aggiungendo la connessione.
    • COMPONENT: l'ID del componente di origine.
    • COMPONENT_2: l'ID del componente di destinazione.

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

  5. Aggiungi variabili di input e output per richiedere l'input dello sviluppatore o per connetterti ad altri componenti nei template compositi.

    gcloud design-center spaces application-templates update APPLICATION_TEMPLATE \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --add-root-input-variables=componentUri=COMPONENT_URI,variable=VARIABLE \
    --add-root-output-variables=componentUri=COMPONENT_URI,variable=VARIABLE
    

    Sostituisci quanto segue:

    • APPLICATION_TEMPLATE: l'ID del template dell'applicazione a cui stai aggiungendo le variabili.
    • PROJECT: l'ID del tuo progetto di gestione.
    • LOCATION: la regione del template dell'applicazione.
    • SPACE: l'ID dello spazio.
    • COMPONENT_URI: l'URI del componente che costituisce la base della variabile.
    • VARIABLE: la variabile del componente che vuoi inserire o generare. Ad esempio, un componente del database potrebbe avere una variabile database_name che potresti voler restituire come output o richiedere come input agli sviluppatori.

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

Configura i valori predefiniti per i componenti

Per ogni componente aggiunto a un modello, puoi specificare i dettagli di configurazione predefiniti, come il progetto della risorsa e la località di deployment. Application Design Center applica questi valori predefiniti quando un'applicazione viene creata da questo template.

Gli sviluppatori di applicazioni possono anche modificare i dettagli della connessione se la configurazione predefinita non soddisfa i loro requisiti. Ad esempio, potresti modificare i nomi delle chiavi variabile di ambiente, cambiare le porte di connessione o aggiungere altri ruoli 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 template. Gli sviluppatori devono configurare i dettagli richiesti per ogni risorsa supportata.

Per configurare componenti e connessioni:

Canvas di progettazione

  1. Nel canvas di progettazione, fai clic su un componente.

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

  3. Configura impostazioni aggiuntive per la risorsa. Ad esempio, per Cloud SQL, puoi 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, segui questi passaggi.

    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 in modo che siano in linea con i requisiti della tua applicazione.
      • Il valore della porta di connessione.
      • I ruoli aggiunti a un account di servizio.
  5. Fai clic su Salva.

gcloud CLI

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

    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 del tuo progetto di gestione.
    • LOCATION: la regione del template dell'applicazione.
    • SPACE: l'ID dello spazio.
    • APPLICATION_TEMPLATE: l'ID del template dell'applicazione.

    Per saperne di più, consulta 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, puoi 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 che vuoi aggiornare.
    • PROJECT: l'ID del tuo progetto di gestione.
    • LOCATION: la regione del template dell'applicazione.
    • SPACE: l'ID dello spazio.
    • PARAMETERS_FILE_PATH: un file JSON che include i parametri del componente.
    • APPLICATION_TEMPLATE: l'ID del template dell'applicazione.

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

  4. Descrivi le connessioni 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 del componente.
    • APPLICATION_TEMPLATE: l'ID del template.
    • PROJECT: l'ID del tuo progetto di gestione.
    • LOCATION: la regione del template dell'applicazione.
    • SPACE: l'ID dello 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 del componente.
    • APPLICATION_TEMPLATE: l'ID del template.
    • PROJECT: l'ID del tuo progetto di gestione.
    • LOCATION: la regione del template dell'applicazione.
    • SPACE: l'ID dello 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.

Verifica la conformità ai framework di sicurezza

Puoi applicare un insieme coerente di policy a qualsiasi applicazione di cui viene eseguito il deployment da un template per applicare requisiti di sicurezza specifici della tua organizzazione prima del deployment. L'esecuzione delle valutazioni durante la fase di progettazione del template è facoltativa, ma è vivamente consigliato risolvere tempestivamente le configurazioni errate perché le valutazioni vengono applicate durante la fase di pre-deployment dell'applicazione.

Se hai il livello Standard di Security Command Center, i tuoi template vengono convalidati in base al framework Google CloudSecurity Essentials. Se hai il livello Premium o Enterprise, puoi creare framework aggiuntivi e collegarli direttamente al tuo template di applicazione all'interno di un confine a livello di cartella o di un confine di un singolo progetto.

Per saperne di più su come collegare i framework di sicurezza al tuo template, consulta Applica le policy di sicurezza.

Modifica il codice Terraform

Mentre progetti il template dell'applicazione, App Design Center genera il codice Terraform per riflettere i dettagli di progettazione e configurazione. Puoi modificare il codice Terraform per specificare i dettagli di configurazione dei componenti.

Il sistema genera i seguenti file Terraform:

  • main.tf: codice dell'infrastruttura che include un modulo per ogni componente del template.
  • outputs.tf: espone le informazioni sui componenti dell'infrastruttura di cui è stato eseguito il deployment.
  • variables.tf: dichiara il nome, il tipo e la descrizione delle variabili utilizzate nel file main.tf.
  • input.tfvars: definisce i valori per le variabili utilizzate nel file main.tf.
  • providers.tf: definisce le etichette che aiutano Terraform a interagire con le API e le risorse Google Cloud .

Per informazioni di base, consulta Panoramica di Terraform suGoogle Cloud.

Per modificare il codice Terraform, segui questi passaggi:

  1. Nel canvas di progettazione, fai clic su Codice. Il sistema visualizza i file Terraform generati.

  2. Fai clic su main.tf. Il sistema visualizza il modulo Terraform per ogni componente.

  3. Modifica i dettagli della configurazione. Per saperne di più, consulta la documentazione di configurazione di ogni risorsa supportata.

    Il sistema convalida automaticamente le modifiche e visualizza gli errori se le modifiche non sono valide.

  4. Per evidenziare e confrontare le modifiche:

    1. Fai clic su Visualizza differenze.

    2. Per ripristinare una modifica, fai clic su Fai clic per ripristinare la modifica nel margine.

    3. Fai clic su Visualizza differenze per chiudere la visualizzazione di confronto.

  5. Per salvare le modifiche, fai clic su Salva le modifiche al codice.

  6. Per verificare le modifiche, procedi come segue.

    1. Fai clic su Design.
    2. Fai clic su un componente ed esamina i dettagli della configurazione.

Verifica il modello

Prima di condividere il modello con gli sviluppatori, assicurati che funzioni come previsto. Per verificare il modello:

  1. Crea un'applicazione con le seguenti impostazioni:
    1. Nell'elenco Ambiente, seleziona TEST.
    2. Nell'elenco Criticità, seleziona BASSA.
  2. Esegui il deployment dell'applicazione.
  3. Testa la tua infrastruttura per assicurarti che soddisfi i tuoi requisiti.
  4. Per evitare costi ricorrenti, elimina il deployment di test.

Condividi un modello in un catalogo

Una volta verificato il template, puoi pubblicarlo in un catalogo. Il template può essere utilizzato dagli sviluppatori di applicazioni che hanno accesso a uno spazio in cui è condiviso il catalogo.

  1. Nel canvas di progettazione, fai clic su Aggiungi al catalogo.
  2. Per gestire gli spazi in cui è condiviso il catalogo, consulta Gestisci i cataloghi.

Rivedi e condividi di nuovo il modello

Man mano che acquisisci esperienza con la tua applicazione e le tue esigenze aziendali si evolvono, potresti voler aggiornare il tuo template. 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 template, crei una revisione del template. 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 template nei cataloghi. Per condividere l'ultima revisione, pubblica nuovamente il template nel catalogo.

Per creare una nuova revisione, segui questi passaggi:

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

    Vai ai Modelli

  2. Seleziona il modello di applicazione 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.

Elimina un modello

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

Canvas di progettazione

  1. Nel canvas di progettazione, fai clic su Azioni.
  2. Fai clic su Elimina.

gcloud CLI

Elimina un template 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 template dell'applicazione che vuoi eliminare.
  • PROJECT: l'ID del tuo progetto di gestione.
  • LOCATION: la regione del template dell'applicazione.
  • SPACE: l'ID dello spazio.

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

Passaggi successivi