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:
Eseguire il
azd init
comando con il--template
parametro per clonare un modello esistente da GitHub.azd init --template todo-nodejs-mongo
Eseguire il comando per eseguire l'autenticazione
azd auth login
nella sottoscrizione di Azure.azd auth login
Eseguire il comando
azd up
per effettuare il provisioning e la distribuzione delle risorse del modello in Azure. Ilazd 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
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 modelloazd
.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 lainfra
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. Alcuniazd
modelli escludono lasrc
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:
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.
- Questa è una scelta ottimale se si è appena iniziato a usare
- 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à.
- Questa è una scelta ottimale quando hai già un'app esistente, ma vuoi renderla compatibile con
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:
- Creare il primo modello dell'interfaccia della riga di comando per sviluppatori di Azure
- Rendere il progetto compatibile con
azd
la guida
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.