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