Informazioni sulle specifiche di modello
Finora si è sempre stati abituati a distribuire i modelli di Azure Resource Manager (modelli di ARM) in Azure usando Bicep o JSON. Si crea un file modello e quindi lo si invia ad Azure creando una distribuzione. Azure Resource Manager orchestra la creazione o la riconfigurazione delle risorse.
Anche quando si usano le specifiche di modello, si invia il modello ad Azure, ma invece di distribuirlo, Azure lo salverà in modo che sia disponibile in futuro. Quando sarà necessario, sarà quindi possibile indicare ad Azure di distribuire la specifica di modello. È persino possibile usare più volte la stessa specifica di modello per distribuire più ambienti.
Perché usare le specifiche di modello?
Sono stati creati molti modelli riutilizzabili per l'azienda di giocattoli, tra cui:
Nome modello | Descrizione |
---|---|
Account di archiviazione | Distribuisce un account di archiviazione e applica l'autenticazione di Microsoft Entra. |
Account Cosmos DB | Distribuisce un account di Azure Cosmos DB con il backup continuo abilitato. |
Rete virtuale | Distribuisce una rete virtuale con la configurazione appropriata per il peer con la rete hub principale. |
Sito Web per il lancio dei prodotti | Distribuisce un piano di Servizio app di Azure, un'app e un account di archiviazione per i siti Web dedicati al lancio dei nuovi giocattoli. |
Le specifiche di modello sono ideali per creare una libreria di modelli di ARM riutilizzabili per gli scenari comuni dell'organizzazione. Un esperto può creare un modello con una risorsa o un set di risorse preconfigurato. L'esperto può quindi pubblicarlo come specifica di modello, consentendo ad altri utenti dell'organizzazione di distribuirlo.
È possibile usare le specifiche di modello per assicurarsi che le risorse create dal team siano configurate in base a determinati requisiti. Ad esempio, è possibile pubblicare una specifica di modello come il modello di account di archiviazione descritto in precedenza. Quindi, ogni volta che chiunque nell'organizzazione distribuisce la specifica di modello, è possibile assicurarsi che crei un account di archiviazione con le impostazioni di autenticazione corrette.
Poiché le specifiche di modello sono archiviate in Azure, non è necessario gestire manualmente i file modello condivisi. È possibile gestire chi può usare e modificare le specifiche del modello con i controlli di accesso in base al ruolo di Azure. Senza le specifiche di modello, è necessario scegliere una posizione di archiviazione, ad esempio Archiviazione di Azure, in cui conservare i file modello. È anche necessario controllare manualmente l'accesso.
Quali sono le differenze tra specifiche di modello e moduli Bicep?
Quando si usa Bicep, è possibile creare moduli riutilizzabili per definire set di risorse in un singolo file. Le specifiche di modello e i moduli Bicep consentono entrambi di rendere riutilizzabili i modelli, ma sono ottimizzati per scopi diversi:
- Le specifiche di modello sono progettate per essere distribuibili come modello completo. È possibile distribuire specifiche di modello usando il portale di Azure e strumenti come l'interfaccia della riga di comando di Azure e Azure PowerShell. I moduli Bicep sono concepiti per essere combinati in una distribuzione più grande. Tuttavia, se è stata creata una specifica di modello, Bicep consente anche di usarla come modulo se lo si desidera.
- Le specifiche di modello offrono funzionalità di controllo delle versioni e degli accessi. È necessario gestire manualmente le versioni e la sicurezza per il codice Bicep.
- Le specifiche di modello sono archiviate in Azure come risorsa. È necessario archiviare i moduli Bicep in una posizione che è possibile controllare, ad esempio un sistema di controllo delle versioni come Git o il file system.
- I moduli Bicep conservano tutto il codice Bicep originale, inclusi commenti, nomi simbolici e spazi vuoti. Quando si crea una specifica di modello con Bicep, il codice Bicep viene convertito in JSON e alcune di queste informazioni vanno perse, quindi è necessario conservare il file Bicep di origine anche in un'altra posizione.
Quando si deve decidere tra specifiche di modello e moduli Bicep, una valida regola generale da seguire è: se il modello verrà distribuito così com'è in tutta l'organizzazione, le specifiche di modello sono probabilmente la soluzione adatta. Se invece si prevede di riutilizzare questo modello in più modelli padre, i moduli Bicep potrebbero essere la scelta migliore.
Come funzionano le specifiche di modello
Una specifica di modello è una risorsa di Azure, proprio come un account di archiviazione o una macchina virtuale. Deve essere creata in un gruppo di risorse, anche se il modello in sé può distribuire le risorse in un ambito di sottoscrizione, gestione o tenant.
Quando si usano le specifiche di modello, si creano due risorse:
- La specifica di modello è la risorsa contenitore, che contiene una o più versioni.
- Le versioni della specifica di modello contengono il modello effettivo da distribuire.
Per lavorare con le specifiche di modello e le versioni, si usano gli ID delle risorse. Ecco un esempio di ID della risorsa per una specifica di modello:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SharedTemplates/providers/Microsoft.Resources/templateSpecs/StorageWithoutSAS
Una versione è una risorsa figlio della specifica di modello. Ha un ID risorsa simile all'esempio seguente:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SharedTemplates/providers/Microsoft.Resources/templateSpecs/StorageWithoutSAS/versions/1.0
Quando si distribuisce una specifica di modello, è necessario specificare l'ID risorsa della versione della specifica di modello.
Ecco un'illustrazione del flusso di lavoro che si seguirà quando si useranno le specifiche di modello:
Si crea un modello nel modo abituale. Un modello creato per una specifica di modello non ha nulla di speciale. Si dichiarano le risorse, si creano i parametri e le variabili, si usano le funzioni e così via.
Quando il modello è pronto, si crea una risorsa specifica di modello. Si pubblica quindi il modello nella specifica di modello come versione. Gli strumenti usati per creare le specifiche di modello consentono di eseguire tutti questi passaggi in un'unica operazione. La specifica di modello viene archiviata in Azure come risorsa dopo la pubblicazione. È possibile visualizzarla, modificarla e controllarne l'accesso come per qualsiasi altra risorsa di Azure. È possibile pubblicare la specifica di modello dal computer locale o da una pipeline di distribuzione.
Ogni volta che si vuole distribuire la specifica di modello, si fa riferimento all'ID risorsa della versione della specifica di modello dalla distribuzione. È possibile distribuirla in qualsiasi gruppo di risorse o persino in un'altra sottoscrizione o ambito. Azure legge la specifica di modello e la usa come modello per la distribuzione.