Nellβambito di Azure Resource Manager (ARM), βdeclarative syntaxβ (sintassi dichiarativa) si riferisce a un approccio per descrivere le risorse e la configurazione dellβinfrastruttura in Azure utilizzando modelli basati su JSON o YAML.
Invece di specificare dettagliatamente le operazioni da eseguire per creare o configurare le risorse, la sintassi dichiarativa consente di dichiarare lo stato desiderato dell'ambiente. In altre parole, si descrive cosa si vuole ottenere, piuttosto che come farlo.
Il file descrittivo si chiama ARM Template; questo file, ad esempio, puΓ² descrivere la creazione di una macchina virtuale, una rete virtuale, unβistanza di database e cosΓ¬ via, insieme alle relative impostazioni e configurazioni.
Ecco un esempio di un frammento di codice JSON che rappresenta una risorsa di macchina virtuale in un ARM template:
{
"type": "Microsoft.Compute/virtualMachines",
"name": "myVirtualMachine",
"apiVersion": "2022-03-01",
"location": "westus",
"properties": {
"hardwareProfile": {
"vmSize": "Standard_DS2_v2"
},
"storageProfile": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "2019-Datacenter",
"version": "latest"
},
"osDisk": {
"name": "osdisk",
"caching": "ReadWrite",
"createOption": "FromImage"
}
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', 'myNetworkInterface')]"
}
]
}
}
}
Utilizzando la sintassi dichiarativa, Γ¨ possibile definire in modo strutturato e leggibile le risorse, le proprietΓ e le relative configurazioni allβinterno di un modello ARM. Questo modello puΓ² quindi essere utilizzato per distribuire e gestire in modo coerente e ripetibile lβinfrastruttura e le applicazioni in Azure.
Lβapproccio dichiarativo offre vantaggi come la tracciabilitΓ delle modifiche, la possibilitΓ di versionare e gestire il codice del modello, la riproducibilitΓ delle distribuzioni e la facilitΓ di automazione e gestione del ciclo di vita delle risorse.
Complessivamente, la sintassi dichiarativa nellβottica di Azure Resource Manager consente di definire lβambiente Azure desiderato in modo chiaro e conciso, promuovendo una gestione efficiente e scalabile delle risorse in Azure.