Scegliere lo strumento da riga di comando appropriato
Ogni azione eseguita nel portale di Azure si traduce nell'esecuzione del codice in un'API in background per creare, leggere, aggiornare o eliminare le risorse di Azure. Gli strumenti da riga di comando di Azure sono wrapper per l'API che consentono di automatizzare il provisioning delle risorse di Azure su larga scala.
Opzioni di automazione in Azure
Quattro strumenti da riga di comando vengono comunemente usati per automatizzare le risorse di Azure: l'interfaccia della riga di comando di Azure, Azure PowerShell, Bicep e Terraform.
Come vengono confrontati gli strumenti?
L'interfaccia della riga di comando di Azure, Azure PowerShell, Bicep e Terraform presentano analogie, ma ognuno offre vantaggi distinti. Avendo l'incarico di effettuare il provisioning di Archiviazione di Azure, quali funzionalità degli strumenti offrono il miglior vantaggio nell'ambiente in uso?
La tabella seguente identifica le funzionalità di ogni strumento da riga di comando di Azure. Nella tabella:
- L'icona
indica che la funzionalità è
true
per lo strumento da riga di comando specificato. - L'icona
indica che la funzionalità è
false
per lo strumento da riga di comando specificato.
Funzionalità | Interfaccia della riga di comando di Azure | Azure PowerShell | Bicep | Terraform |
---|---|---|---|---|
IaC imperativo | ||||
IaC dichiarativo | ||||
Nativo di Azure | ||||
Indipendente dal cloud | ||||
Può essere eseguito in Windows, Linux e macOS | ||||
Può creare, modificare ed eliminare risorse di Archiviazione di Azure |
Esaminare in modo più approfondito ogni strumento. Quali funzionalità dell'interfaccia della riga di comando di Azure rispetto ad Azure PowerShell, e di Bicep rispetto a Terraform, rendono uno o più strumenti adatti all'ambiente in uso?
Confronto tra interfaccia della riga di comando di Azure e Azure PowerShell
L'interfaccia della riga di comando di Azure e Azure PowerShell sono strumenti da riga di comando che consentono di creare e gestire le risorse di Azure.
Interfaccia della riga di comando di Azure
- Interfaccia della riga di comando multipiattaforma installabile in Windows, Linux e macOS
- Eseguibile in Azure Cloud Shell, PowerShell, Bash,
Cmd.exe
o un contenitore Docker - Si basa su Python
- L'impostazione predefinita è l'output di una stringa JSON, anche se sono disponibili altre opzioni di formato, ad esempio tabella, YAML e TSV
- Consente di eseguire query per l'output dei comandi usando la sintassi di query JMESPath.
- Usa i comandi organizzati in gruppi, ad esempio
az vm
, e sottogruppi, ad esempioaz vm disk
- Ha una sintassi che segue un modello
reference name -command -parameter -parameter value
semplice - Supporta operazioni asincrone
Azure PowerShell
- Modulo PowerShell multipiattaforma che viene eseguito in Windows, Linux e macOS
- Eseguibile in locale in PowerShell, in Azure Cloud Shell o in un contenitore Docker
- Si basa su .NET Standard
- Fornisce il completamento tramite tabulazione e IntelliSense predittivo
- Restituisce oggetti .NET
- Usa i nomi dei comandi
Verb-Noun
per facilitare l'individuazione
Confronto tra Bicep e Terraform
Bicep
Bicep è un linguaggio specifico di dominio (DSL) che usa la sintassi dichiarativa per distribuire le risorse di Azure. In un file Bicep si definisce l'infrastruttura da distribuire in Azure. Si usa quindi questo file nell'intero ciclo di vita dello sviluppo per distribuire l'infrastruttura. Le risorse vengono distribuite in modo coerente.
Bicep offre sintassi concisa, indipendenza dai tipi affidabile e supporto per il riutilizzo del codice. Bicep offre un'esperienza di creazione ottimale per le soluzioni IaC in Azure.
Terraform
Hashicorp Terraform è uno strumento IaC open source per il provisioning e la gestione dell'infrastruttura cloud. Codifica l'infrastruttura nei file di configurazione che descrivono lo stato desiderato per la topologia. Terraform consente di gestire qualsiasi infrastruttura, ad esempio cloud pubblici, cloud privati e servizi SaaS (Software as a Service), usando i provider Terraform.
Quale strumento da riga di comando di Azure è ideale per l'utente?
Quando si sceglie uno strumento, tenere in considerazione l'esperienza precedente e l'ambiente di lavoro corrente. Ecco un riepilogo delle opzioni:
- La sintassi dell'interfaccia della riga di comando di Azure è simile allo scripting di Bash.
- Azure PowerShell è un modulo di PowerShell. I comandi seguono uno schema di denominazione
Verb-Noun
e i dati vengono restituiti come oggetti. - Bicep è un DSL che usa la sintassi dichiarativa per distribuire le risorse di Azure.
- Terraform è uno strumento IaC open source per il provisioning e la gestione dell'infrastruttura cloud.
Scegliere lo strumento che usa l'esperienza e accorcia la curva di apprendimento. Mantenere la mente aperta migliorerà le abilità dell'utente. Usare uno strumento diverso quando è opportuno.