Progettare modelli di applicazioni standard

Gli amministratori creano modelli di applicazioni standard per garantire che l'architettura preferita venga utilizzata da ogni team di sviluppo. In questo modo puoi controllare le risorse e le configurazioni che gli sviluppatori utilizzano nei deployment delle applicazioni. Una volta creato un modello standard, gli altri utenti dello spazio possono accedervi. Puoi anche aggiungere un modello a un catalogo da condividere con altri spazi.

Gli sviluppatori possono utilizzare il tuo modello per creare ed eseguire il deployment di un'applicazione oppure puoi incorporarlo in un modello composito più grande. Quando gli sviluppatori creano un'applicazione, possono configurare ogni componente dal template, ma non possono aggiungere o rimuovere componenti. Il modello genera codice Terraform, che gli sviluppatori possono scaricare o di cui possono eseguire il deployment da App Design Center.

Questo documento ti aiuta a progettare, configurare e condividere un modello di applicazione standard utilizzando App Design Center.

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)

Creare un modello di richiesta standard

Crea modelli di applicazioni standard per condividere la progettazione 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. Ad esempio, service account.

  • Servizi: interfacce di rete o API utilizzate sulla rete. Alcuni esempi sono Cloud Storage e Vertex AI.

  • Workload: deployment binari che eseguono funzioni aziendali. Gli esempi includono Cloud Run e Compute Engine.

Puoi scegliere tra i seguenti componenti:

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

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. Fai clic su Crea modello.

  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 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 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 modello aggiungendo e collegando i componenti. L'esempio seguente include tre componenti connessi nel canvas di progettazione.

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

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

Per aiutare gli sviluppatori a configurare un'applicazione in base al tuo modello, 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 modello. Ad esempio, puoi fornire valori di variabili distinti per ogni ambiente quando esegui il deployment di un'applicazione negli ambienti di sviluppo, produzione e test. Queste variabili vengono esposte automaticamente nei file Terraform variables.tf e outputs.tf generati.

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

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 zero, nell'area Componenti, fai clic su un componente 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 modello, fai clic su Applicazione personalizzata con Gemini.

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

    • Per connettere due componenti sul canvas, trascina un punto blu di un componente a 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 per ogni risorsa supportata.

  4. Per rimuovere un componente o una connessione:

    1. Nell'area di lavoro, 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 modello:

    1. Fai clic su Dettagli del 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 che è la base della variabile.

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

        • Output: il componente restituisce un valore che potrebbe essere necessario 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 elaborazione dei 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.

Interfaccia a riga di comando gcloud

  1. Identifica gli URI di revisione del modello per i componenti 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.

  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 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 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 del secondo 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 di applicazione in cui stai aggiungendo il componente.
    • SHARED_TEMPLATE_URI_2: Il secondo componente dell'URI del modello condiviso. 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 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 componente di origine.
    • COMPONENT_2: l'ID 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 modelli 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 modello per il modello di applicazione in cui stai aggiungendo le variabili.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: La regione del modello di applicazione.
    • SPACE: il tuo ID spazio.
    • COMPONENT_URI: l'URI del componente che è la base della variabile.
    • VARIABLE: La variabile del componente che vuoi inserire o restituire. Ad esempio, un componente di database potrebbe avere una variabile database_name che potresti voler restituire o richiedere l'input degli sviluppatori.

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

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.

Modifica il codice Terraform

Man mano che progetti il template dell'applicazione, App Design Center genera il codice Terraform per riflettere i dettagli di progettazione e configurazione. Puoi modificare 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 nel modello.
  • outputs.tf: espone 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 delle 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 su Google Cloud.

Per modificare il codice Terraform:

  1. Nell'area di progettazione, fai clic su Codice. Il sistema mostra i file Terraform generati.

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

  3. Modifica i dettagli di configurazione. Per ulteriori informazioni, consulta la documentazione di configurazione per ogni risorsa supportata.

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

  4. Per evidenziare e confrontare le modifiche:

    1. Fai clic su Visualizza diff.

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

    3. Fai clic su Visualizza diff per chiudere la visualizzazione del confronto.

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

  6. Per verificare le modifiche, procedi nel seguente modo.

    1. Fai clic su Design.
    2. Fai clic su un componente e rivedi 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. Dall'elenco Environment (Ambiente), seleziona TEST.
    2. Nell'elenco Criticalità, seleziona BASSA.
  2. Esegui il deployment dell'applicazione. Per i passaggi per il deployment, vedi Deployment di un'applicazione dalla console.
  3. Testa la tua infrastruttura per assicurarti che soddisfi i tuoi requisiti.
  4. Per evitare costi ricorrenti, elimina il deployment di test.

Condividere un modello in un catalogo

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

  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