Introduzione

Completato

Microsoft supporto tecnico di Azure diversi metodi per effettuare il provisioning delle risorse per una macchina virtuale Linux e per la transizione di carichi di lavoro basati su Linux esistenti.

Scenario di esempio

Si supponga di essere stati assunti da una società di servizi finanziari per eseguire la transizione dei carichi di lavoro locali basati su Linux esistenti ad Azure. Come servizi necessari per il progetto, è stata selezionata Infrastruttura distribuita come servizio (IaaS) e Piattaforma distribuita come servizio (PaaS) ed è stata completata la pianificazione per le risorse necessarie per la distribuzione. È ora necessario selezionare una metodologia di distribuzione che offra un equilibrio ottimale tra semplicità ed efficienza durante il provisioning delle macchine virtuali di Azure che eseguono Linux. Le opzioni disponibili includono il portale di Azure, l'interfaccia della riga di comando di Azure e i modelli Terraform e Bicep.

Esaminare i metodi di distribuzione primari

Quando si sceglie la metodologia di distribuzione da utilizzare, è consigliabile prendere in considerazione le opzioni che ogni scelta deve offrire.

Azure portal

L'approccio più semplice per il provisioning delle risorse di Azure consiste nell'usare il portale di Azure. Il portale di Azure è una console unificata basata sul Web che offre un'alternativa conveniente agli strumenti da riga di comando. La sua interfaccia grafica basata su browser è progettata per facilitare la distribuzione delle risorse e le attività di gestione attraverso la richiesta all'utente di qualsiasi informazione necessaria, fornendo suggerimenti e visualizzando messaggi utili.

Interfaccia della riga di comando di Azure

L'interfaccia della riga di comando di Azure è uno strumento da riga di comando multipiattaforma che è possibile utilizzare per accedere alle sottoscrizioni di Azure e gestire le relative risorse. È possibile eseguire i comandi dell'interfaccia della riga di comando di Azure in modo interattivo in un'interfaccia della console, ad esempio una finestra del prompt dei comandi di Windows o una sessione della shell Linux. È anche possibile incorporare l'interfaccia della riga di comando di Azure negli script che utilizzano i comandi della shell Bash e le utilità GNU per automatizzare il processo.

Terraform

Terraform è uno strumento open source multipiattaforma infrastructure as Code (IaC) che è possibile usare per effettuare il provisioning e configurare un'ampia gamma di ambienti, tra cui cloud pubblici e privati multivendor. A differenza dell'interfaccia della riga di comando di Azure, che offre un approccio imperativo alla gestione delle risorse, Terraform segue un approccio dichiarativo .

Un approccio imperativo comporta la scrittura di script o l'esecuzione di una sequenza di comandi. L'utente specifica in modo esplicito i passaggi da eseguire per produrre un risultato desiderato. Quando si usano le distribuzioni imperative, l'utente è responsabile della gestione delle dipendenze, della gestione degli errori e degli aggiornamenti delle risorse. Un approccio dichiarativo prevede la scrittura di una definizione che descrive il risultato desiderato, anziché i passaggi da implementare; gli strumenti determinano il metodo ottimale per fornire tale risultato. Esegue questa operazione controllando lo stato corrente dell'ambiente, confrontandolo con lo stato di destinazione e quindi implementando le modifiche necessarie per renderli identici.

Nota

Red Hat Ansible è un altro strumento open source popolare che è possibile utilizzare per integrare la funzionalità Terraform. Ansible facilita tuttavia il provisioning delle risorse cloud e supporta sia la gestione della configurazione che le distribuzioni di applicazioni.

Bicep

Bicep offre un metodo di provisioning dichiarativo alternativo a Terraform. Anche se è destinato esclusivamente alle risorse di Azure, è possibile trarre vantaggio da diverse funzionalità di integrazione e usabilità che sono comuni tra le tecnologie basate sul cloud Microsoft.

Nota

Per un confronto completo tra Bicep e Terraform, vedere Confronto tra Terraform e Bicep.

Azure supporta due tipi di modelli per il provisioning dichiarativo:

  • Modello di Azure Resource Manager: questo modello usa il formato di file open-standard JavaScript Object Notation (JSON).

  • Modello Bicep: questo modello si basa su un linguaggio specifico del dominio (DSL), sviluppato di recente da Microsoft per semplificare l'esperienza di creazione di modelli e migliorare le funzionalità risultanti.

È possibile usare entrambi questi modelli per distribuire praticamente qualsiasi risorsa di Azure. Questi modelli si integrano facilmente anche nei sistemi di controllo della versione e nelle pipeline di distribuzione, con conseguente miglioramento dell'automazione e dell'affidabilità. Tuttavia, rispetto ai modelli di Azure Resource Manager, i modelli Bicep offrono diversi vantaggi aggiuntivi, tra cui la sintassi più concisa e la gestione delle dipendenze predefinita.

Cosa si fa?

In questo modulo si sceglierà il metodo di distribuzione ottimale per il provisioning di macchine virtuali Linux in Azure. La scelta dipenderà dai criteri stabiliti durante la fase della pianificazione della distribuzione.

Qual è l'obiettivo principale?

Al termine di questo modulo sarà possibile effettuare il provisioning di macchine virtuali di Azure che eseguono Linux, usando la metodologia di distribuzione desiderata. Si avrà anche una migliore comprensione dei casi d'uso più adatti per ciascun metodo.