Azure Resource Manager templates – Deployment con un clic!
I template in Microsoft Azure possono utilizzare un’ampia gamma di risorse oltre a quelle tipiche dell’ Infrastructure As A Service (IaaS), come ad esempio le Web App o i database SQL e permettono di distribuire automaticamente queste risorse in relazione tra loro.
Uno dei vantaggi dei template di Azure è quello di poter creare tutte le risorse necessarie alla creazione di una soluzione, anche complessa, semplicemente utilizzando un clic!
Sul sito web GitHub, all’indirizzo https://github.com/Azure/azure-quickstart-templates trovate centinaia di template in formato JavaScript Object Notation (JSON), che vi permettono di creare macchine virtuali, reti virtuali, applicazioni web, database SQL e di realizzare soluzioni e applicazioni già pronte all’uso.
Per poterlo fare basta dichiarare nel template di Azure quali risorse volete utilizzare e successivamente fornire i parametri necessari alla configurazione della soluzione scelta.
Moltissimi sono i template disponibili, visualizzabili alla pagina https://azure.microsoft.com/it-it/resources/templates/, che vi permettono di creare ad esempio un intero cluster, utilizzando diverse macchine virtuali.
Figura 1: Offerta dei template in Azure
Ovviamente potete creare template di Azure anche personalizzati. Trovate una serie di ottime guide al link https://docs.microsoft.com/it-it/azure/azure-resource-manager/resource-manager-template-best-practices , dove vi vengono illustrate le best practices per creare modelli di Resource Manager facili da usare.
Inoltre i template possono essere esportati anche da risorse che già avete nella vostra sottoscrizione Azure. Supponendo di aver creato una macchina virtuale e di volerla replicare, abbiamo la possibilità di visualizzare il file .json del template e di esportarlo per riutilizzarlo per ridistribuire la macchina virtuale in base alle nostre esigenze. Nella figura sotto, dopo essermi loggato al portale Azure, ho cliccato su una mia macchina virtuale e successivamente ho cliccato su Automation Script, in modo tale da visualizzare il template .json della Virtual Machine e poterlo scaricare.
Figura 2: Template .json esportabile dal portale di Azure
Cliccando su Download avrete la possibilità di scaricare i file Parameters.json e Template.json, oltre a file per poter distribuire il template utilizzando Powershell oppure Bash o Visual Studio.
Figura 3: File scaricati dal portale Azure
Figura 4: parte del file template.json
Figura 5: file parameters.json
Figura 6: File deploy.ps1
Ridistribuire i template diventa facilissimo perché possiamo usare il file deploy.ps1 dopo aver modificato i parametri dei file .json
Template pronti disponibili su GitHub
Dal repository GitHub potete partire dall’implementazione di modelli semplici, come ad esempio il template che permette di creare una nuova VM e promuoverla a domain controller di una nuova foresta Create an Azure VM with a new AD Forest
Figura 7: Template per la creazione di un nuovo domain controller
Trovo particolarmente interessanti alcuni template presenti su GitHub che ci danno la possibilità di creare soluzioni complesse di Clustering di VM.
In particolar modo è possibile utilizzare il template Windows Server 2016 Storage Spaces Direct (S2D) SOFS cluster per creare delle macchine virtuali da collegare ad una rete VNET esistente e poter creare un Windows Server 2016 Storage Spaces Direct (S2D) Scale-Out File Server (SOFS) cluster, il tutto con un semplice clic!
Figura 8: template per la creazione di uno Storage Spaces Direct (S2D) Scale-Out File Server (SOFS) cluster
Interessante anche il template Create a Storage Spaces Direct (S2D) SOFS Clusters with Storage Replica for Disaster Recovery across Azure Regions, che permette di creare due cluster Storage Spaces Direct (S2D) Scale-Out File Server (SOFS) utilizzando Windows Server 2016 in un ambiente realizzato tra due regioni diverse di Azure, in modo tale da poter utilizzare la nuova funzionalità di Storage Replica.
Figura 9: Schema di funzionamento di Storage Spaces Direct (S2D) in un ambiente realizzato tra due regioni diverse di Azure
Figura 10: template Create a Storage Spaces Direct (S2D) SOFS Clusters with Storage Replica for Disaster Recovery across Azure Regions
Per maggiori approfondimenti vi rimando anche all’articolo Implementare Storage Spaces Direct in Windows Server 2016 con Microsoft Azure.
Ci sono anche soluzioni più semplici che permettono di testare la nuova funzionalità di Storage Replica, di cui abbiamo parlato nell’articolo Implementare Storage Replica in Windows Server 2016 con Microsoft Azure. Trovate il template all’indirizzo Create a Storage Replica (SR) destination server with Windows Server 2016 on an existing VNET
Figura 11: Template Create a Storage Replica (SR) destination server with Windows Server 2016 on an existing VNET
Conclusioni
La facilità con cui i template di Azure ci permettono di realizzare soluzioni tecnologiche complesse, come Storage Replica, Storage Spaces Direcr oppure il Clustering, ci danno un’idea precisa della potenza del cloud pubblico di Microsoft e dell’evoluzione tecnologica dei nostri Datacenter.
E se volete cimentarvi con la creazione di vostri template potete cominciare visitando la pagina https://docs.microsoft.com/it-it/azure/azure-resource-manager/resource-group-authoring-templates
Buon lavoro!
Nic