L’Alternativa Semplificata ad Azure Automation per la Gestione delle Virtual Machine

L’automazione della gestione delle macchine virtuali in Microsoft Azure ha visto un’evoluzione significativa negli ultimi anni. Se Azure Automation è da tempo il pilastro dell’automazione enterprise, Microsoft ha introdotto nel 2021 una nuova funzionalità chiamata Azure VM Tasks (o Automation Tasks), pensata per semplificare drasticamente gli scenari di automazione più comuni. Questo articolo esplora entrambe le soluzioni, fornendo ai professionisti IT le informazioni necessarie per comprendere quando la nuova alternativa semplificata può sostituire efficacemente l’approccio tradizionale basato su runbook.

L’Evoluzione dell’Automazione in Azure

Azure Automation: La Soluzione Enterprise

Azure Automation è disponibile dal 2014 ed è stato progettato come servizio cloud-based per l’automazione e la configurazione che supporta la gestione coerente degli ambienti Azure e non-Azure. La piattaforma si basa su runbook (workflow scritti in PowerShell, PowerShell Workflow o Python) che permettono di orchestrare processi complessi.

Documentazione ufficiale Microsoft:

Azure VM Tasks: La Nuova Frontiera della Semplicità

Azure VM Tasks è stata introdotta nel maggio 2021 come funzionalità in preview, e rappresenta un approccio completamente diverso all’automazione. Invece di richiedere la scrittura di codice, le Tasks utilizzano template predefiniti che vengono configurati attraverso un’interfaccia guidata nel portale Azure.

Dietro le quinte, un’automation task è effettivamente un workflow che viene eseguito sul servizio Azure Logic Apps, ma questa complessità è completamente astratta dall’utente finale.

Documentazione ufficiale Microsoft:

Azure VM Tasks: Funzionalità e Utilizzo

Template Disponibili per le Virtual Machine

Azure VM Tasks supporta diversi template specifici per le macchine virtuali:

  1. Start Virtual Machine: avvio schedulato della VM in base a orari predefiniti.
  2. Stop Virtual Machine: arresto programmato della macchina.
  3. Deallocate Virtual Machine: deallocazione completa con rilascio delle risorse compute.
  4. Send monthly cost for resource: invio di report mensili sui costi della specifica VM.

Come Funziona la Deallocazione

È importante comprendere la differenza tra Stop e Deallocate:

  • Stop (Power Off): la VM viene spenta ma le risorse compute rimangono allocate. Si continua a pagare per le risorse allocate.
  • Deallocate: la VM viene spenta e le risorse compute vengono rilasciate completamente. Si pagano solo storage e networking. L’indirizzo IP pubblico dinamico viene rilasciato.

Per l’ottimizzazione dei costi in ambienti dev/test, la deallocazione è la scelta preferita.

Processo di Configurazione

La configurazione di una task avviene attraverso quattro fasi guidate:

Fase 1 – Select a Template

Scelta del template appropriato tra quelli disponibili. Ogni template include una descrizione chiara delle operazioni che verranno eseguite.

Fase 1 - Select a Template

Fase 2 – Authentication

Configurazione delle connessioni necessarie per l’autenticazione, creando le connection richieste per il task specifico. È possibile utilizzare:

  • Azure Managed Identity (raccomandato per production)
  • Service Principal
  • Credenziali Azure AD

Fase 2 - Authentication

Fase 3 – Configure

Definizione dei parametri operativi:

  • Interval: numero di volte in cui eseguire l’operazione.
  • Frequency: cadenza temporale (Day, Week, Month).
  • Time: orario specifico di esecuzione.
  • Time zone: fuso orario di riferimento.

Fase 3 - Configure

Ad esempio, è possibile configurare una task per avviare o arrestare la macchina virtuale un numero specifico di volte ogni giorno, settimana o mese.

Fase 4 – Review + Create

Validazione finale della configurazione e creazione della task. Azure verifica automaticamente che le permission necessarie siano presenti.

Fase 4 - Review + Create

Accesso alle Tasks nel Portale

Per accedere alle Automation Tasks, nel portale Azure navigare alla risorsa VM desiderata, scorrere fino alla sezione Automation nel menu laterale e selezionare Tasks. Da qui è possibile visualizzare le task esistenti o aggiungerne di nuove.

Accesso Tasks Portale Azure

Monitoraggio e Gestione

Dopo la creazione, le task possono essere:

  • Monitorate: visualizzazione dello storico delle esecuzioni e dello stato.
  • Editate: modifiche inline per semplici aggiustamenti o apertura nel Logic Apps Designer per personalizzazioni avanzate.
  • Disabilitate o eliminate: gestione del ciclo di vita della task.

Monitoraggio e Gestione

Nota: Le Automation Tasks sono attualmente in preview e supportano l’invio del costo mensile per tutte le risorse Azure, oltre a template speciali per Azure Virtual Machines, Azure Storage accounts e Azure Cosmos DB.