Stabilire se Azure PowerShell è la scelta appropriata per le attività

Completato

Si supponga che sia necessario scegliere uno strumento per gestire le risorse di Azure che verranno usate per testare il sistema CRM (Customer Relationship Management). Per i test è necessario creare gruppi di risorse ed effettuare il provisioning di macchine virtuali.

Si vuole una soluzione che sia facile da apprendere per gli amministratori, ma sufficientemente potente da consentire di automatizzare l'installazione e la configurazione di più macchine virtuali o creare script per un intero ambiente applicativo. Sono disponibili diversi strumenti. È necessario trovare quello più adatto per le persone e le attività specifiche.

Quali strumenti sono disponibili?

Azure offre tre strumenti di amministrazione:

  • Il portale di Azure
  • L’interfaccia della riga di comando di Azure
  • Azure PowerShell

Tutti questi strumenti offrono approssimativamente lo stesso livello di controllo: qualsiasi attività che è possibile eseguire con uno degli strumenti, in genere può essere eseguita anche con gli altri due. Tutti e tre sono multipiattaforma, poiché possono essere eseguiti in Windows, macOS e Linux. Si differenziano a livello di sintassi, requisiti di installazione e supporto per l'automazione.

Di seguito viene descritta ognuna di queste tre opzioni e saranno fornite alcune indicazioni per la scelta di quella più appropriata.

Che cos'è il portale di Azure?

Il portale di Azure è un sito Web che consente di creare, configurare e modificare le risorse nella sottoscrizione di Azure. Il portale è un'interfaccia utente grafica che rende più semplice individuare le risorse necessarie e apportare le modifiche richieste. Fornisce inoltre assistenza per le attività amministrative complesse, attraverso procedure guidate e descrizioni comandi.

Il portale non offre alcun modo per automatizzare le attività ripetitive. Ad esempio, per configurare 15 macchine virtuali, è necessario crearle una alla volta completando la procedura guidata per ogni macchina virtuale. Può trattarsi di un metodo che richiede molto tempo e soggetto a errori, in caso di attività complesse.

Che cos'è l'interfaccia della riga di comando di Azure?

L'interfaccia della riga di comando di Azure è un programma della riga di comando multipiattaforma per connettersi ad Azure ed eseguire comandi amministrativi sulle risorse di Azure. Ad esempio per creare una macchina virtuale è possibile usare il comando seguente:

az vm create \
  --resource-group CrmTestingResourceGroup \
  --name CrmUnitTests \
  --image Ubuntu2204
  ...

L'interfaccia della riga di comando di Azure è disponibile in due modalità: all'interno di un browser tramite Azure Cloud Shell o con un'installazione locale in Windows, Mac o Linux. In entrambi i casi, è possibile usarla in modo interattivo o usarla con script per automatizzare le attività. Per l'uso interattivo, si avvia prima di tutto una shell, ad esempio cmd.exe in Windows o Bash in Linux o macOS, quindi si esegue il comando al prompt della shell. Per automatizzare attività ripetitive, i comandi vengono assemblati in uno script della shell tramite la sintassi per gli script della shell prescelta, quindi si esegue lo script.

Che cos'è Azure PowerShell?

Azure PowerShell è un modulo che viene aggiunto a PowerShell per connettersi alla sottoscrizione di Azure e gestire le risorse. Per il funzionamento di Azure PowerShell è necessario PowerShell. PowerShell fornisce servizi come la finestra della shell, l'analisi dei comandi e così via. Il modulo Azure Az PowerShell aggiunge comandi specifici di Azure.

Ad esempio, Azure PowerShell include il comando New-AzVM, che crea automaticamente una macchina virtuale all'interno della sottoscrizione di Azure. Per usarlo, avviare l'applicazione PowerShell ed eseguire il comando seguente:

New-AzVm `
    -ResourceGroupName "CrmTestingResourceGroup" `
    -Name "CrmUnitTests" `
    -Image "UbuntuLTS"
    ...

Anche Azure PowerShell è disponibile in due modalità: all'interno di un browser tramite Azure Cloud Shell o con un'installazione locale in Windows, Mac o Linux. In entrambi i casi, è possibile scegliere tra due modalità. È possibile usarlo in modalità interattiva, in cui si esegue manualmente un comando alla volta, o in modalità di scripting, in cui si esegue uno script costituito da più comandi.

Come scegliere uno strumento di amministrazione

Il portale, l'interfaccia della riga di comando di Azure e Azure PowerShell sono sostanzialmente equivalenti per quanto riguarda gli oggetti di Azure che possono amministrare e le configurazioni che possono creare. Sono anche tutti multipiattaforma. In genere sarà necessario prendere in considerazione altri fattori per decidere quali usare:

  • Automazione: è necessario automatizzare una serie di attività complesse o ripetitive? Azure PowerShell e l'interfaccia della riga di comando di Azure supportano l’automazione, a differenza del portale di Azure.

  • Curva di apprendimento: è necessario completare un'attività rapidamente senza dover apprendere nuovi comandi o una nuova sintassi? Il portale di Azure non richiede di apprendere una sintassi o di memorizzare comandi. In Azure PowerShell e nell'interfaccia della riga di comando di Azure è necessario conoscere la sintassi dettagliata per ogni comando usato.

  • Set di competenze del team: il team dispone di competenze esistenti? Il team potrebbe ad esempio avere usato PowerShell per amministrare Windows. In questo caso si può acquisire rapidamente familiarità con l'uso di Azure PowerShell.

Esempio

È importante ricordare che è necessario scegliere uno strumento di amministrazione per creare gli ambienti di test per l'applicazione CRM. Gli amministratori dovranno eseguire due specifiche attività di Azure:

  1. Creare un gruppo di risorse per ogni categoria di test (unit test, integrazione e accettazione).
  2. Creare più macchine virtuali in ogni gruppo di risorse prima di ogni ciclo di test.

Per creare i gruppi di risorse, il portale di Azure è una scelta ragionevole. Si tratta di attività da effettuare una sola volta, quindi non sono necessari gli script per eseguirle.

Trovare lo strumento migliore per creare le macchine virtuali è una decisione più complessa. È necessario creare diverse macchine virtuali e questa operazione deve essere eseguita ripetutamente, presumibilmente più volte alla settimana. Per queste attività sarà pertanto necessaria l'automazione, quindi il portale di Azure non è una scelta valida. In questo caso, è possibile usare Azure PowerShell o l'interfaccia della riga di comando di Azure per soddisfare le esigenze. Se i membri del team hanno già una certa conoscenza di PowerShell, Azure PowerShell è probabilmente la soluzione più adatta. Azure PowerShell è disponibile nei sistemi operativi usati dal team di amministrazione, supporta l'automazione e dovrebbe essere molto rapido da apprendere per il team.

Per la maggior parte degli amministratori, la prima esperienza con Azure avviene nel portale di Azure. È un ottimo punto di partenza perché offre un'interfaccia grafica pulita e ben strutturata. Le opzioni per l'automazione sono tuttavia limitate. Quando è necessaria l'automazione, Azure offre due opzioni: Azure PowerShell per gli amministratori che hanno esperienza con PowerShell e l'interfaccia della riga di comando di Azure per tutti gli altri utenti.

In pratica, le aziende hanno in genere una combinazione di attività occasionali e ripetitive, quindi è comune usare sia il portale di Azure che una soluzione di scripting. Nell'esempio relativo a CRM, è possibile creare i gruppi di risorse tramite il portale di Azure e automatizzare la creazione delle macchine virtuali con PowerShell.

Il resto di questo modulo è dedicato all'installazione e all'uso di Azure PowerShell.