L'Azure Command-Line Interface (CLI) è uno strumento che, tramite l'uso di comandi testuali, permette agli utenti di creare, configurare e monitorare le risorse cloud in modo efficiente e automatizzato, eliminando la necessità di interfacce grafiche e favorendo l'integrazione con script e processi di DevOps. Compatibile con diversi sistemi operativi, Azure CLI è dedicato a sviluppatori, amministratori di sistema e professionisti IT che cercano di ottimizzare il loro lavoro nel cloud e offre, oltre a una grande flessibilità, anche una curva di apprendimento accessibile ai meno esperti. In questo articolo andremo a vedere più da vicino come funziona e quali sono i comandi essenziali, prendendoci anche un momento per parlare di Developer CLI e delle differenze tra Azure CLI e PowerShell.
Se ci si è avvicinati da poco a Microsoft Azure, molto probabilmente il proprio percorso è cominciato lavorando all’interno del Portale di Azure, magari creando risorse come macchine virtuali e account di archiviazione utilizzando i wizard di distribuzione.
Tuttavia, questo processo è tedioso e non è scalabile quando è necessario creare molte risorse. Per portare lo sviluppo delle proprie soluzioni software al livello successivo è necessario avere un grado di libertà e controllo molto più elevato, che spesso i software basati sull’utilizzo mediante interfaccia grafica non offrono.
Azure CLI (abbreviazione di Command-Line Interface) è un solido strumento a riga di comando fornito da Microsoft per gestire le risorse di Azure. Offre un modo rapido, flessibile e scriptabile per interagire con i servizi e le risorse di Azure, consentendo agli utenti di automatizzare efficientemente le attività e gestire l'infrastruttura nel cloud di Azure.
Gli utenti possono utilizzare questa piattaforma per scriptare una varietà di operazioni nel portale Azure, come la creazione o l'eliminazione di risorse Azure, incluse le macchine virtuali o il backup dei database SQL.
Ma come funziona nello specifico? Diamogli uno sguardo più da vicino.
Prima di cominciare la nostra panoramica, prendiamoci un attimo per capire meglio che cos’è una CLI e come funziona.
Una CLI, o Command-Line Interface (Interfaccia a Riga di Comando), è un'interfaccia utente che consente agli utenti di interagire con un computer o un sistema software digitando comandi testuali. A differenza delle interfacce grafiche (GUI), che utilizzano elementi visivi come finestre, icone e menu, una CLI richiede che l'utente inserisca comandi specifici tramite una tastiera.
Nella CLI, l'interazione avviene quindi solo in modo testuale, con i comandi inseriti in sequenza uno dopo l'altro. Questo tipo di interfaccia consente agli utenti più tecnici di scrivere facilmente script, ovvero sequenze di comandi, per automatizzare operazioni ripetitive.
Un’interfaccia a riga di comando offre quindi a chi la sa utilizzare un alto livello di controllo e libertà e gli permette di eseguire operazioni avanzate e complesse che spesso non sono possibili con le GUI e può risultare molto più veloce ed efficiente per eseguire operazioni complesse.
Azure CLI fa esattamente questo per i servizi di Azure e dà libertà e controllo agli sviluppatori per elaborare soluzioni più complesse a livello tecnico per tutti i servizi della piattaforma cloud di Microsoft, tra cui macchine virtuali, account di archiviazione, database, reti virtuali e altro ancora. Gli utenti possono creare, gestire e monitorare le risorse direttamente dalla riga di comando, senza la necessità di interfacciarsi con una GUI.
Per poterla utilizzare, dopo averla installata la si esegue per mezzo di una shell (un programma che funge da intermediario tra l'utente e il sistema operativo di un computer), come CMD su Windows o Bash su Linux o macOS, e poi si digita un comando al prompt della shell.
L'Azure CLI può essere installata localmente su sistemi Linux, Mac o Windows. Può anche essere accessibile tramite browser utilizzando l'Azure Cloud Shell o all'interno di un container Docker.
Abbiamo creato il team Infra&Security, verticale sul cloud Azure, per rispondere alle esigenze dei clienti che ci coinvolgono nelle decisioni tecniche e strategiche. Oltre a configurare e gestire il loro tenant, ci occupiamo di:
Con Dev4Side, hai un partner affidabile in grado di supportarti sull'intero ecosistema applicativo di Microsoft.
Per poter utilizzare Azure CLI sul proprio sistema basterà attraversare un semplice processo d’installazione seguito da una rapida configurazione per connettersi al proprio account Azure. Qui approfondiremo i passaggi di installazione per diversi sistemi operativi e i passaggi di configurazione iniziale per fare in modo di essere pronti a gestire le risorse di Microsoft Azure utilizzando il CLI in pochissimo tempo.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/
install/HEAD/install.sh)"
brew update && brew install azure-cli
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[azure-cli]\nname=Azure CLI\nbaseurl=https://packages.microsoft.com/
yumrepos/azure-cli\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.
microsoft.com/ keys/microsoft.asc" > /etc/yum.repos.d/
azure-cli.repo'
sudo dnf install azure-cli
Dopo aver installato Azure CLI, il passo successivo è configurarlo accedendo al proprio account Azure:
az login
az account list --output table
az account set --subscription "<Subscription Name or ID>"
Azure CLI offre una quantità incredibile di comandi che permettono di interagire con gli altrettanto numerosi servizi di Azure. Data la mole, non sarà possibile coprirli nella sua totalità; quindi, ci limiteremo a introdurre solo alcuni comandi fondamentali, essenziali per chiunque inizi a utilizzare Azure CLI.
Questi comandi coprono il lavoro con i gruppi di risorse e l'ottenimento di informazioni su vari servizi Azure e permetteranno a chi desidera incominciare a usarlo di avere un’idea un po’ più chiara di come farlo.
Prima di cominciare però, diamo uno sguardo a quello che è senza dubbio uno dei comandi più utili di Azure CLI, ovvero “help”.
Il comando help è uno strumento molto utile per ottenere informazioni dettagliate sui comandi disponibili, sui loro argomenti e sulle opzioni e la sua funzione principale è fornire assistenza e documentazione direttamente nella riga di comando, facilitando così l'uso della CLI.
Quando si utilizza il comando “az help”, si ottiene una panoramica generale di Azure CLI, inclusi i comandi principali e le estensioni disponibili, estremamente utile per orientarsi e capire quali comandi sono disponibili per l'uso.
È possibile anche ottenere informazioni dettagliate su un comando specifico aggiungendo help dopo il comando di interesse. Questo fornisce dettagli sugli argomenti del comando, sulle opzioni disponibili e spesso include esempi di utilizzo. Qui sotto lasciamo un esempio di questo possibile utilizzo:
az group help
Per ottenere dettagli su un'azione specifica di un comando, si può estendere ulteriormente l'uso di help. Questo è utile per esplorare tutte le possibili azioni e parametri di un determinato comando. Riprendiamo l’esempio sopra e vediamo come cambia la sintassi:
az group create help
È anche possibile utilizzare la sintassi “—help” con qualsiasi comando per ottenere informazioni dettagliate. Questo funziona in modo identico all'aggiunta di help alla fine del comando. Qui sotto un altro esempio:
az vm create --help
Resource groups sono contenitori che ospitano risorse correlate per una soluzione Azure. Ecco come creare e gestire resource groups rapidamente mediante l’utilizzo di Azure CLI:
az group create --name <Insert Name> --location <Insert Regione>
Questo commando creerà un nuovo Resource Group. Ricordatevi di inserire nel comando un nome per la risorsa e la sua location in base alla regione Azure dell’account.
az group list --output table
az group delete --name <InsertResourceName> --yes --no-wait
Il flag --yes conferma l'operazione, e --no-wait indica alla CLI di non attendere il completamento dell'operazione prima di riportare al prompt.
Come abbiamo già accennato a inizio sezione, Azure CLI può interagire con praticamente tutti i servizi di Azure. Facciamo un paio di esempi per capire meglio come:
az vm list --output table
Questo comando elencherà tutte le vm nella sottoscrizione di default selezionata, mostrandone nomi, resource group associati e location.
az storage account list --output table
In maniera simile al comando precedente, mostrerà una tabella di tutti gli account di storage mostrandone nomi, location e resource group associati.
Azure Virtual Machines (VMs) are one of the most commonly used resources. They allow you to deploy and manage virtual servers in the cloud. Here’s how you can manage VMs using Azure CLI:
az vm create \
--resource-group <InsertResourceName> \
--name MyVM \
--image UbuntuLTS \
--admin-username <InsertUserName> \
--generate-ssh-keys
az vm start --resource-group <InsertResourceName> --name MyVM
az vm stop --resource-group <InsertResourceName> --name MyVM
Azure CLI può essere utilizzato anche per la gestione delle App create e distribuite tramite il servizio Azure App Service. Vediamo anche qui qualche esempio di comandi utilizzabili:
az appservice plan create --name <InsertPlanName> --resource-group <InsertResourceName> --sku F1 --location <InsertRegion>
(Da specificare che questo comando crea nello specifico un Service Plan di tier gratuito).
az webapp create --resource-group <InsertResourceName> --plan <InsertPlanName> --name <InsertAppName>
Azure CLI può anche essere utilizzato per gestire e caricare file sui propri account Azure Storage. Anche in questo caso facciamo un paio di esempi più concreti per vedere come funziona in questo contesto:
az storage account create \
--name <InsertStorageAccountName> \
--resource-group <InsertResourceName> \
--location <InsertRegion> \
--sku Standard_LRS
Con questo specifico comando andremo a creare un account di storage che utilizza come opzione di redundancy lo "Standard_LRS" (Locally-redundant storage) nella regione desiderata.
az storage blob upload \
--account-name <InsertStorageAccountName> \
--container-name <InsertContainerName> \
--name <InsertFileName> \
--file <InsertPathToFile>
Prima di utilizzare il comando, assicuratevi che sia presente un contenitore nel proprio account di storage.
L'Azure Developer CLI è uno strumento principalmente orientato agli sviluppatori. Questo strumento è progettato per creare e distribuire applicazioni e infrastrutture Azure utilizzando solo pochi comandi. È come Azure CLI uno strumento open-source e ha due obiettivi principali: ridurre i tempi di sviluppo e aiutare i developer a comprendere i concetti fondamentali dello sviluppo su Azure.
Entrambi permettono di distribuire servizi e infrastrutture su Azure ma Azure CLI è uno strumento più generale che consente di gestire e controllare le risorse Azure direttamente dal terminale, con molta libertà di modificare, cambiare e avere un controllo più dettagliato su ciascun comando eseguito.
L'Azure Developer CLI è invece uno strumento più orientato agli sviluppatori, focalizzato sull'accelerare le distribuzioni avendo molti aspetti già connessi per l’utente all'interno di un'unica applicazione, dando agli sviluppatori la possibilità di avere meno preoccupazioni riguardo al processo di distribuzione.
Un caso d'uso tipico dell'Azure Developer CLI è se si ha per le mani un'applicazione completa composta da più servizi complessi che si connettono tra loro. In questo particolare caso sarebbe un compito molto arduo configurarli manualmente nel portale o attraverso molti comandi tramite Azure CLI.
La manciata di comandi developer-friendly utilizzabili all’interno di questa interfaccia permette di occuparsi di tutti i passaggi chiave nel workflow di uno sviluppatore senza doversi perdere nella configurazione manuale di ogni singola connessione e servizio e può tornare particolarmente utile se si sta lavorando in un team e si desidera avere la certezza che tutti stiano utilizzando la stessa infrastruttura e codice dell'app.
Azure CLI e PowerShell sono due degli strumenti principali per la gestione e l'automazione dei servizi Azure, ma seppur sembrino all’apparenza lo stesso strumento non potrebbero essere più diversi. Molti utenti alle prime armi infatti potrebbero confonderli perché entrambi sono basati su riga di comando, ma la differenza tra Azure CLI e PowerShell è l’equivalente della differenza tra un programma e un sistema operativo. Vediamola meglio.
Azure CLI come abbiamo già visto è uno strumento progettato specificamente per lavorare con i servizi Azure. È focalizzato sull'interazione con la piattaforma Azure attraverso una serie di comandi dalla sintassi intuitiva e uniforme (facilitando l'apprendimento e l'uso del tool), indipendentemente dal sistema operativo in uso e per essere utilizzato ha bisogno di essere installato su una shell da cui poi lo si eseguirà.
PowerShell è invece una shell a riga di comando e un linguaggio di scripting creato da Microsoft, inizialmente per gestire sistemi Windows ma poi esteso anche ad altri ambienti, diventando compatibile con Windows, macOS e Linux dopo l’introduzione di PowerShell Core, ampliando notevolmente la sua portata.
Quest’ultimo, a differenza di CLI, è una vera e propria console di comando (come il bash di Linux o il vecchio CMD di Windows) e offre una sintassi basata su comandi e oggetti, il che significa che i risultati delle operazioni vengono trattati come oggetti e non come semplice testo ed è spesso usato per la gestione di ambienti Windows e per l'automazione di attività più generali.
Powershell integra cmdlet specifici per Azure, che offrono una profondità di controllo e personalizzazione maggiore rispetto ai comandi di base di Azure CLI (seppur al costo di una maggiore complessità e difficoltà di scrittura e lettura) ma le sue funzionalità non sono limitate al solo Azure, rendendolo particolarmente adatto per scenari complessi dove è necessario integrare Azure con altre operazioni di sistema e script complessi.
Nella pratica effettiva, molti utenti utilizzano una combinazione di Azure CLI e PowerShell in base alle loro esigenze e preferenze specifiche e questi strumenti sono complementari piuttosto che esclusivi l'uno dell'altro e la scelta dipende spesso dal compito da svolgere. Quando si sceglie quale strumento da riga di comando sia più adatto, si dovrebbero quindi considerare la propria esperienza e il tipo di ambiente in cui si lavora per poter sfruttare i due al massimo del loro potenziale.
La possibilità di avere maggiore libertà e controllo offerta dalle interfacce a riga di comando è il motivo per cui, dopo ancora tantissimi anni, molti developer esperti le preferiscono rispetto a soluzioni dotate di interfaccia grafica che, seppure più user-friendly e facili da utilizzare, potrebbero essere soggette a scomode limitazioni.
Azure CLI con la sua offerta ha sostanzialmente reso molto più rapido, comprensibile e sintetico il lavoro degli sviluppatori che prediligono l’utilizzo di questo tipo di interfacce più minimali, riuscendo a garantirgli lo stesso grado di controllo e libertà d’azione sul loro lavoro con maggiore facilità e minore sforzo.
Con la sua combinazione di versatilità e linguaggio intuitivo e senza fronzoli, nonché la possibilità di utilizzarlo su più piattaforme (e addirittura su browser) senza problemi di compatibilità con shell differenti, l’interfaccia a riga di comando di Azure è diventata nel corso del tempo una delle soluzioni più apprezzate dagli sviluppatori che lavorano sulla piattaforma di cloud computing di Microsoft. Perché non metterla quindi alla prova e scoprirne da sé il potenziale?
Azure CLI è uno strumento da riga di comando fornito da Microsoft per gestire le risorse Azure. Consente di automatizzare e controllare l'infrastruttura cloud utilizzando comandi testuali.
Azure Developer CLI è uno strumento rivolto agli sviluppatori, semplificando lo sviluppo e il deployment di applicazioni Azure con comandi semplificati per la gestione di servizi complessi.
Azure CLI funziona tramite comandi testuali in un terminale, permettendo la creazione, configurazione e monitoraggio delle risorse Azure. Può essere installato su diversi sistemi operativi o utilizzato tramite Azure Cloud Shell.
Per installare Azure CLI su Windows, scarica l'MSI installer dalla pagina di download di Azure CLI, eseguilo e segui la procedura guidata. Usa il Prompt dei comandi o PowerShell per iniziare a usarlo digitando 'az'.
Sì, Azure CLI può essere installato su macOS utilizzando Homebrew. Installa Homebrew, quindi esegui il comando 'brew update && brew install azure-cli' nel Terminale.
Alcuni comandi essenziali di Azure CLI includono 'az group create' per creare un gruppo di risorse, 'az vm list' per elencare le macchine virtuali e 'az storage account list' per elencare gli account di archiviazione.
Azure CLI è progettato specificamente per gestire i servizi Azure con una struttura di comandi coerente, mentre PowerShell è una shell e un linguaggio di scripting di uso generale, integrato negli ambienti Windows.
Il team Infra & Security è verticale sulla gestione ed evoluzione dei tenant Microsoft Azure dei nostri clienti. Oltre a configurare e gestire il tenant, si occupa della creazione dei deployment applicativi tramite le pipelines di DevOps, monitora e gestisce tutti gli aspetti di sicurezza del tenant, supportando i Security Operations Centers (SOC).