Primi passi con Azure Bicep (Passo dopo passo)

Hai bisogno di creare un’infrastruttura in Azure? Hai guardato i modelli ARM e pensato che sembrano complessi? Poiché molte persone si sono lamentate della difficoltà di creare modelli ARM, Microsoft ha sviluppato uno strato di astrazione chiamato Azure Bicep.

In questo tutorial imparerai come iniziare da zero. Imparerai come fare tutto, dall’installazione di un ambiente di sviluppo al rilascio del primo modello Bicep!

Cominciamo!

Prerequisiti

Questo tutorial sarà una dimostrazione pratica. Se vuoi seguirmi, assicurati di avere quanto segue:

  • Windows 10: la maggior parte delle dimostrazioni in questo tutorial funzionerà su altri sistemi operativi, ma tutte le dimostrazioni utilizzeranno Windows 10.
  • Visual Studio Code: questo tutorial utilizzerà la versione 1.60.2.

Cos’è Azure Bicep?

Bicep è un linguaggio specifico del dominio che semplifica la creazione di modelli ARM. Puoi pensare a Bicep come a uno strato di astrazione sopra i modelli ARM. ARM utilizza JSON e può diventare complesso, specialmente per implementazioni di grandi dimensioni.

Microsoft ha deciso di creare Bicep per ridurre le complessità e migliorare l’esperienza di sviluppo. Non si tratta di un nuovo linguaggio; pensalo piuttosto come un miglioramento dei modelli JSON ARM.

Configurazione di un ambiente di sviluppo Bicep

Per iniziare a sviluppare modelli Bicep, è necessario configurare un ambiente che ti aiuti a ottenere i migliori risultati. A tal fine, hai a disposizione alcuni strumenti. Iniziamo configurando l’ambiente necessario, inclusi l’estensione Bicep per VS Code, il Bicep CLI e, facoltativamente, i moduli Azure PowerShell.

Installazione dell’estensione Bicep per VS Code

VS Code è un ottimo strumento di sviluppo per creare modelli Bicep. A tal proposito, Microsoft fornisce un’estensione di VS Code per facilitare la creazione di modelli Bicep. Iniziamo a creare un ambiente di sviluppo preparando VS Code.

Apri Visual Studio Code e clicca sul pulsante Estensioni.

Opening extensions

Nella barra di ricerca, digita “bicep”. Dovresti vedere comparire un’unica estensione Bicep. Quando ciò accade, clicca su Installa. Dopo alcuni istanti, VS Code installerà l’estensione Bicep.

Search and install bicep extension

Anche se nella prossima sezione ti verrà fornito il modello Bicep da copiare/incollare, sicuramente avrai occasione di dover creare modelli Bicep da zero. L’estensione Bicep in VS Code risulta particolarmente utile in questi casi, grazie alle sue funzionalità di Intellisense.

Nota che se apri un file con estensione .bicep in VS Code, VS Code cercherà di fornirti delle scorciatoie. Ad esempio, crei risorse Azure con la parola chiave resource in un modello Bicep. Con l’estensione Bicep installata, VS Code comprende ciò.

Typing the resource command

Selezionare una delle opzioni del menu fornite crea automaticamente un modello da compilare anziché dover ricordare la sintassi esatta ogni volta.

Blank bicep template

Il punto (.) è un’altro comodo scorciatoia quando si creano modelli Bicep. Digitando questo nella sezione proprietà, ad esempio, verranno visualizzate tutte le proprietà disponibili per un account di archiviazione.

Properties available for a storage account

Installazione della Bicep CLI

Dopo averla creata, è necessario richiamare i modelli Bicep tramite la Bicep CLI. Prima di tentare di installare la Bicep CLI, verificare se è già installata. A seconda della versione di Azure CLI installata, è possibile che sia già presente la Bicep CLI. Per verificare, aprire una console PowerShell o un terminale e controllare la versione della Bicep CLI.

	az bicep version

Se la Bicep CLI è installata, verrà visualizzato un messaggio di versione, come mostrato di seguito.

Bicep CLI version

Se viene visualizzato un messaggio di errore relativo all’impossibilità di trovare la Bicep CLI, eseguire il sottocomando install per installare la Bicep CLI.

az bicep install

Verrà visualizzato l’output come illustrato di seguito. Conferma che la Bicep CLI è stata installata correttamente ed è pronta per l’uso.

Bicep installed successfully

Come metodo alternativo di installazione, è possibile installare la Bicep CLI tramite il Programma di installazione di Bicep per Windows.

Creazione di un modello Bicep per distribuire un account di archiviazione.

È possibile distribuire alcune risorse complesse di Azure con Bicep, ma iniziamo lentamente. Per il tuo primo modello Bicep, creiamo un semplice account di archiviazione di Azure che potrai quindi usare per distribuire su Azure sia tramite Azure CLI che PowerShell nella sezione successiva.

1. Apri VS Code e crea un nuovo file chiamato main.bicep. Non è necessario chiamare il file esattamente come mostrato qui, ma è comune seguire l’esempio di Terraform chiamando il modello main con l’estensione .bicep.

2. Copia e incolla il seguente codice del modello Bicep nel file e salvane una copia. Questo modello contiene vari attributi che compongono un modello Bicep.

All’inizio vedrai alcuni attributi comuni a tutti i modelli Bicep:

  • L’identificatore della risorsa (resource myStorage) – Indica a Bicep di creare una nuova risorsa chiamata myStorage. Questo nome identifica la risorsa specifica all’interno del modello Bicep. Questo nome non è il nome della risorsa creata in Azure.
  • Microsoft.Storage/storageAccounts@2019-06-01 – Definisce un tipo composto dal provider di risorse Microsoft.Storage, dal tipo di risorsa (storageAccounts) e dalla versione dell’API (2019-06-01) da utilizzare.
  • name Il nome della risorsa come appare in Azure (presta attenzione alle regole e restrizioni per la denominazione delle risorse di Azure.)
  • location – La regione di Azure in cui creare la risorsa.

Vedrai anche alcuni attributi specifici per il tipo di risorsa storageAccounts:

  • SKU – Lo SKU dell’account di archiviazione (Standard_LRS) come definito nella proprietà name.
  • kind – Il tipo di account di archiviazione (StorageV2).
  • properties Diverse proprietà specifiche della risorsa che non hanno una propria sezione come accessTier in questo esempio. Queste proprietà sono le stesse che troverai nei modelli ARM.
resource myStorage 'Microsoft.Storage/storageAccounts@2019-06-01' = {
  name: 'ata2021bicepdiskstorage'
  location: 'uksouth'
  SKU: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
        
  }
}

Deploy di un modello Bicep con PowerShell

Come già menzionato, puoi eseguire il deploy dei modelli Bicep in due modi: tramite Azure CLI e il modulo Azure PowerShell. Iniziamo con il deploy di un modello Bicep tramite PowerShell.

Assicurati di avere installato il modulo Azure PowerShell e di essere autenticato su Azure prima di iniziare questa sezione.

Il deployment delle risorse di Azure con i modelli Bicep è identico al deployment dei modelli ARM. Microsoft ha essenzialmente aggiunto il supporto per il linguaggio Bicep a molti dei cmdlet ARM esistenti di PowerShell, come New-AzResourceGroupDeployment.

Nella console di PowerShell, eseguire un nuovo deployment del gruppo di risorse tramite il cmdlet New-AzResourceGroupDeployment, fornendo il percorso del modello Bicep e il ResourceGroupName in cui effettuare il deployment. Noterai che puoi utilizzare un modello Bicep esattamente come un modello ARM.

New-AzResourceGroupDeployment -TemplateFile main.bicep -ResourceGroupName ATA

Se il deployment ha successo, dovresti vedere il seguente output nella sessione di PowerShell con la proprietà ProvisioningState che indica il successo. Ecco tutto!

Deploying resource with Bicep

Per verificare che la risorsa sia stata creata correttamente, accedi al Portale di Azure, vai al gruppo di risorse e vedrai all’interno di quel gruppo di risorse un account di archiviazione appena creato.

Azure Portal

Se stai seguendo e hai creato l’account di archiviazione come demo, non dimenticare di rimuoverlo! Nota che il ResourceName coincide con il name fornito nel modello Bicep.

Remove-AzResource -ResourceName ata2021bicepdiskstorage -ResourceGroupName ATA -ResourceType "Microsoft.Storage/storageAccounts"

Ora vedrai il seguente output.

Removing an Azure storage account

Deployment di un modello Bicep con Azure CLI

Per completare questo tutorial, vediamo come effettuare il deployment del modello Bicep appena creato con Azure CLI.

Assicurati di avere installato Azure CLI v2.2.0+ e di aver effettuato l’accesso prima di iniziare questa sezione.

Con PowerShell o un altro terminale aperto, esegui una distribuzione ARM utilizzando il comando az deployment group create. Questo comando esegue una distribuzione ARM come con PowerShell. Assicurati di specificare il resource-group in cui eseguire la distribuzione insieme al modello Bicep creato in precedenza tramite il parametro template-file.

az deployment group create --resource-group ATA --template-file main.bicep

Se vedi provisioningState come Succeeded, come mostrato di seguito, ARM ha letto il modello Bicep e ha eseguito tutte le istruzioni al suo interno!

provisioningState as Succeeded
Output in JSON from az deployment command

Non dimenticare di pulire la risorsa con az resource delete -g ATA -n ata2021bicepdiskstorage --resource-type "Microsoft.Storage/storageAccounts"

Conclusioni

Ora hai creato un ambiente di sviluppo per Azure Bicep e creato una risorsa in Azure, qual è il tuo prossimo passo? Forse dare un’occhiata a ciò che Microsoft Learn offre su Bicep?

Forse fare una dimostrazione ai tuoi colleghi su come Bicep può aiutare la tua organizzazione?

Source:
https://adamtheautomator.com/azure-bicep/