Condividi tramite


Panoramica dei modelli dell'interfaccia della riga di comando per sviluppatori di Azure

I modelli dell'interfaccia della riga di comando per sviluppatori di Azure (azd) sono repository di codice standard che includono codice dell'applicazione di esempio, nonché azd file di configurazione e infrastruttura. azd I modelli consentono di effettuare il provisioning delle risorse di Azure, distribuire l'applicazione, configurare pipeline CI/CD e altro ancora. È possibile creare modelli personalizzati o iniziare a usare un modello esistente da un repository di modelli, ad esempio Awesome AZD. In questo articolo verranno illustrati i concetti seguenti:

  • Come azd i modelli consentono di effettuare il provisioning e distribuire le risorse dell'app
  • Struttura azd dei modelli
  • Come decidere se usare un modello esistente o crearne uno
  • Esplorare i modelli di avvio esistenti azd

Perché usare i modelli dell'interfaccia della riga di comando per sviluppatori di Azure?

Gli sviluppatori spesso affrontano molte attività complesse e dispendiose in termini di tempo durante la compilazione di app di ambiente configurate e progettata correttamente per il cloud. Teams deve tenere conto di molte problematiche diverse in questi ambienti, ad esempio la creazione di risorse, l'applicazione di configurazioni, la configurazione di monitoraggio e registrazione, la compilazione di pipeline CI/CD e altre attività. azd i modelli riducono e semplificano queste responsabilità per aiutare lo sviluppatore nel percorso dallo sviluppo locale a un'app distribuita correttamente in Azure.

Si supponga, ad esempio, di lavorare in un'azienda che gestisce una piattaforma di gestione dei ticket e di comunicazione dei clienti, che richiede le risorse di Azure seguenti:

  • Due istanze di servizio app e un piano di servizio app per ospitare un'app Web front-end e un'API back-end
  • Un'istanza di Key Vault per archiviare i segreti delle app sicure
  • Un database Cosmos DB per archiviare i dati delle app in modo permanente
  • Risorse di Monitoraggio di Azure, ad esempio dashboard di Application Insights
  • Un bus di servizio per la gestione della messaggistica scalabile
  • Pipeline CI/CD per garantire che le modifiche possano essere distribuite in modo affidabile mediante un processo automatizzato e ripetibile.

Invece di iniziare da zero, è azd possibile sfruttare i modelli di architettura esistenti per effettuare il provisioning e distribuire la maggior parte delle risorse. Il team di sviluppo può quindi concentrarsi sulla compilazione dell'app e apportare modifiche più piccole all'architettura del modello.

Funzionamento dei modelli dell'interfaccia della riga di comando per sviluppatori di Azure

I modelli dell'interfaccia della riga di comando per sviluppatori di Azure sono progettati per usare azd comandi come azd init e azd up. I modelli includono file di configurazione e infrastruttura come codice (IaC) usati dai comandi per eseguire attività come il provisioning delle risorse di Azure e la distribuzione del codice dell'app.

Ad esempio, un flusso di lavoro azd tipico che usa un modello esistente include i passaggi seguenti:

  1. Eseguire il azd init comando con il --template parametro per clonare un modello esistente da GitHub.

    azd init --template todo-nodejs-mongo
    
  2. Eseguire il comando per eseguire l'autenticazione azd auth login nella sottoscrizione di Azure.

    azd auth login
    
  3. Eseguire il comando azd up per effettuare il provisioning e la distribuzione delle risorse del modello in Azure. Il azd up comando sfrutta i file di configurazione e IaC (Infrastructure-as-Code) nel modello per effettuare il provisioning delle risorse di Azure e distribuire l'applicazione in tali risorse.

    azd up
    
  4. Dopo aver configurato l'ambiente in Azure, è possibile modificare in locale le funzionalità dell'applicazione o i modelli di risorse di Azure e quindi eseguire azd up di nuovo per effettuare il provisioning delle modifiche.

Informazioni sulla struttura dei modelli dell'interfaccia della riga di comando per sviluppatori di Azure

Tutti i azd modelli condividono una struttura di file simile in base alle azd convenzioni. Gli asset minimi necessari in genere includono quanto segue:

  • Cartella infra: contiene tutta l'infrastruttura di Bicep o Terraform come file di codice per il modello azd. azd esegue questi file per creare le risorse di Azure necessarie per ospitare l'app.

  • azure.yaml file : file di configurazione che definisce uno o più servizi nel progetto e li esegue il mapping alle risorse di Azure definite nella cartella per la infra distribuzione. Ad esempio, è possibile definire un servizio API e un servizio front-end Web ed eseguirne il mapping a risorse di Azure diverse per la distribuzione.

  • Cartella .azure: contiene le configurazioni e le variabili di ambiente essenziali di Azure, ad esempio la posizione in cui distribuire le risorse o altre informazioni sulla sottoscrizione.

  • src folder : contiene tutto il codice sorgente dell'app distribuibile. Alcuni azd modelli escludono la src cartella e forniscono solo gli asset dell'infrastruttura in modo da poter aggiungere il proprio codice dell'applicazione.

    Nota

    I modelli che escludono la src cartella sono in genere progettati come modelli di avvio dell'infrastruttura.

azd I modelli includono facoltativamente anche una o più delle cartelle seguenti:

  • .github folder : contiene i file del flusso di lavoro CI/CD per GitHub Actions, il provider CI/CD predefinito per azd.
  • Cartella .azdo: se si decide di usare Azure Pipelines per CI/CD, definire i file di configurazione del flusso di lavoro in questa cartella.
  • .devcontainer folder : consente di configurare un ambiente di contenitore di sviluppo per l'applicazione.

Ad esempio, un modello comune azd potrebbe corrispondere alla struttura di cartelle seguente:

Screenshot che mostra una struttura del modello dell'interfaccia della riga di comando per sviluppatori di Azure.

Iniziare con un modello esistente o crearne uno personalizzato

Sono due gli approcci principali per lavorare con i modelli azd:

  • Iniziare con un modello esistente azd .
    • Questa è una scelta ottimale se si è appena iniziato a usare azd o se si sta cercando un modello da compilare per una nuova app con un'architettura e framework simili.
  • Convertire un progetto esistente in un azd modello.
    • Questa è una scelta ottimale quando hai già un'app esistente, ma vuoi renderla compatibile con azd le funzionalità.

Le sezioni seguenti forniscono altre informazioni su queste due opzioni.

Iniziare con un modello esistente

Una vasta selezione di azd modelli è disponibile nella raccolta di modelli awesome-azd . Questi modelli forniscono codice dell'infrastruttura e dell'applicazione per vari scenari di sviluppo, framework di linguaggio e servizi di Azure. Se si trova un modello allineato allo stack di applicazioni locale o all'architettura desiderata, è possibile estendere e sostituire il codice del modello con il proprio

Ad esempio, i modelli seguenti azd forniscono i punti di partenza per le architetture e i framework comuni delle app:

Modello Host app Stack tecnico
React Web App con l'API C# e MongoDB in Azure Servizio app di Azure Azure Cosmos DB per NoSQL, Bicep
React Web App con API C# e database SQL in Azure Servizio app di Azure database SQL di Azure, Bicep
App Web React statica e funzioni con API C# e database SQL in Azure App Web statiche di Azure, Funzioni di Azure database SQL di Azure, Bicep

Creare un nuovo azd modello per l'app

È anche possibile convertire un'app esistente in un azd modello per migliorare il repository con funzionalità di provisioning e distribuzione. Questo approccio consente il maggior controllo e produce una soluzione riutilizzabile per il lavoro di sviluppo futuro nell'app. I passaggi generali per creare un modello personalizzato sono i seguenti:

  • Inizializzare il modello di progetto con azd init.
  • Creare l'infrastruttura Bicep o Terraform come file di codice nella infra cartella .
  • Aggiornare il file azure.yaml per collegare i servizi app con le risorse di Azure.
  • Effettuare il provisioning e la distribuzione con azd up.

Le risorse seguenti forniscono altre informazioni sulla creazione di modelli personalizzati:

Linee guida per l'uso di azd modelli

Si noti che ogni modello usato con l'interfaccia della riga di comando per sviluppatori di Azure è concesso in licenza dal rispettivo proprietario (che può o meno essere Microsoft) nel contratto che accompagna il modello. È responsabilità dell'utente determinare quale licenza si applica a qualsiasi modello scelto per l'uso.

Microsoft non è responsabile dei modelli non Microsoft e non visualizza questi modelli per problemi di sicurezza, privacy, compatibilità o prestazioni. I modelli usati con l'interfaccia della riga di comando per sviluppatori di Azure, inclusi quelli forniti da Microsoft, non sono supportati da alcun programma o servizio di supporto Microsoft. Tutti i modelli forniti da Microsoft vengono forniti così com'è senza garanzia di alcun tipo.

Passaggi successivi