Azure Compute Fleet: la via più rapida per scalare le vostre VM in Azure

Da pochi giorni è stato rilasciato in general availability Azure Compute Fleet, un servizio di gestione e deployment su larga scala di macchine virtuali (VM) su Microsoft Azure. Grazie a un’unica API, potete dispiegare fino a 10.000 VM in una singola regione, combinando istanze Spot e Standard, più SKU diverse, zone di disponibilità e modelli di pricing in modo automatizzato e ottimizzato.

Due capability rimangono in anteprima ma potete già provarle: la distribuzione multi-regione, che estende la stessa flotta fino a tre regioni per aumentare resilienza e throughput e la selezione di VM basata su attributi (memoria, vCPU, storage) che elimina la necessità di elencare ogni singola size delle VM.

Quali sono i vantaggi di questo servizio?

Con Compute Fleet scalate in pochi secondi, pagate solo le VM effettivamente in esecuzione e scegliete tra tre strategie di allocazione: price per il risparmio massimo, capacity per la disponibilità garantita, balanced per un compromesso dinamico. L’API vi libera da script complessi per quote ed eviction, mentre l’integrazione con ARM, Bicep e Terraform vi permette di gestire la flotta come qualunque altra risorsa.

In pratica ottenete scalabilità istantanea, costi ottimizzati e osservabilità integrata (metriche Fleet già esposte in Azure Monitor) senza modificare i vostri modelli IaC (ARM, Bicep, Terraform) e direi che tutto ciò non è per niente male!

Scenari d’uso reali

Dalle farm di rendering alle pipeline di big-data, dall’addestramento di modelli AI ai test di CI/CD con centinaia di build parallele, Compute Fleet vi consente di passare da qualche decina a migliaia di VM in pochi secondi, miscelando Spot e Standard per permettervi di contenere il budget. Nei carichi HPC o di risk-analysis, la nuova Instance Mix riduce i fallimenti di scalabilità quando una singola taglia non ha capacità sufficiente; nei workload globali, la preview multi-region vi permette di spostare i job nella regione più libera o più vicina all’utente.

Buone pratiche che vi suggerisco

Specificate sempre almeno tre taglie diverse per le istanze Spot, verificate le quote di core prima del provisioning e monitorate le metriche di flotta per reagire a eventuali picchi di eviction. Se lavorate in ambienti altamente variabili, impostate la strategia balanced e lasciate che Fleet adatti continuamente mix e taglie; se invece puntate al risparmio massimo, scegliete price e preparatevi a un numero più alto di rimpiazzi Spot.

Configurazione di Azure Compute Fleet

Entrate nel portale Azure, aprite la pagina Subscriptions e nella sottosezione Resource providers cercate Microsoft.AzureFleet: se lo stato non è Registered premete Register e attendete la propagazione (può durare fino a mezz’ora); questa operazione, insieme all’assegnazione dei ruoli Virtual Machine Contributor e Network Contributor agli utenti o alle identità di servizio coinvolte, abilita il servizio nella vostra subscription.

Figura 1: Registrazione del provider di Compute Fleet per la sottoscrizione da utilizzare

Figura 2: Registrazione del provider di Compute Fleet per la sottoscrizione da utilizzare

Una volta registrato il provider, digitate Compute Fleet nella casella di ricerca globale del portale, selezionate la voce che compare nel Marketplace e fate clic su + Create.

Figura 3: Creazione di una nuova Compute Fleet

Si aprirà la schermata Basics, dove scegliete subscription, resource group, region primaria e un nome flotta univoco; potete anche abilitare la protezione zonale selezionando una o più Availability Zone.

Scendendo nella stessa scheda impostate image, architecture (Arm64 o x64) e, soprattutto, il tipo di capacità: potete decidere di combinare Spot VMs e Standard VMs, assegnando a ciascuna la propria target capacity fino a 10 000 istanze e scegliendo l’allocation strategy (price, capacity o balanced) che governerà la selezione delle SKU. Dovete indicare almeno tre VM sizes (o, se state provando la preview attribute-based, i requisiti di vCPU e memoria) e, per le Spot, potete fissare il max hourly price oltre il quale le macchine verranno cancellate).

Figura 4: Scheda Basics del wizard di creazione di una nuova Azure Compute Fleet

Nella scheda Networking, lasciando le impostazioni di rete predefinite, Azure creerà automaticamente una Virtual Network e una subnet, ma potete selezionarne di esistenti oppure, se volete testare la multi-region deployment preview, aprire la sezione Additional locations e aggiungere fino a tre regioni secondarie.

Sotto la scelta di Virtual Network e subnet, c’è un riquadro denominato Load balancer: è l’opzione che vi permette di collegare la flotta a un Azure Standard Load Balancer (il Basic sarà ritirato il 30 settembre 2025, quindi non viene più proposto). Se lasciate l’impostazione su None le VM nasceranno semplicemente con un indirizzo privato; se invece selezionate Create new o Select existing, il portale crea (o collega) un Load Balancer con frontend pubblico o interno e un backend pool dove verranno registrate in automatico tutte le NIC dei Virtual Machine Scale Sets generati dal Fleet.

Il collegamento è realizzato a livello di network profile: ogni VMSS creato per la flotta contiene un riferimento a loadBalancerBackendAddressPools e alla relativa healthProbe, così il Load Balancer può controllare lo stato dei nodi e distribuire il traffico secondo le regole che definirete dopo il deploy. In questo modo potete esporre un endpoint unico che bilancia fino a 10 000 istanze senza dover configurare manualmente backend pool o probe; Compute Fleet mantiene la target capacity e aggiorna il pool quando le Spot vengono rimpiazzate, garantendo che il bilanciamento resti sempre coerente con lo stato della flotta.


Figura 5: Scheda Networking del wizard di creazione di una nuova Azure Compute Fleet

Confermate le scelte nella pagina Review + create. Il portale lancia il deployment, dietro le quinte costruisce i Virtual Machine Scale Sets e inizia il provisioning progressivo fino a raggiungere la capacità richiesta, sostituendo in autonomia eventuali cancellazioni delle VM Spot in base alla strategia scelta.

Figura 6: Scheda Review + Create del wizard di creazione di una nuova Azure Compute Fleet

Nel giro di pochi minuti le risorse Azure verranno create.

Figura 7: Creazione di Azure Computer Fleet completata

Dal blade Overview della risorsa Compute Fleet potete seguire il conteggio in tempo reale e visualizzare le configurazioni scelte.

Figura 8: Scheda Overview dell’Azure Compute Fleet

Nel nodo Scale sets del blade di Compute Fleet il portale vi mostra l’elenco completo dei Virtual Machine Scale Sets (VMSS) che la flotta ha generato automaticamente per raggiungere la capacità richiesta. Ogni riga corrisponde a un VMSS «figlio» con un nome derivato da quello della flotta, perché Fleet, dietro le quinte, divide le istanze per SKU, Availability Zone e priorità (Standard oppure Spot).

Nella tabella vedete, accanto al nome del VMSS, la Region, la Zone, lo Status di provisioning, il conteggio attuale di istanze rispetto al target e il tipo di priorità. Se state provando la preview multi-region, noterete scale set raggruppati per ogni area geografica, mentre con Instance Mix potreste trovare più VMSS nella stessa zona, ciascuno legato a una SKU diversa.

Figura 9: Scheda Scale sets dell’Azure Compute Fleet

Cliccando su qualsiasi riga aprite il blade classico di un VMSS Flexible: qui avete schede come Instances, Scaling, Networking, Metrics e potete vedere log dettagliati sulle singole macchine, ma le modifiche di capacità restano disabilitate perché l’unica autorità di scaling è Compute Fleet.

Le metriche aggregate sul nodo, aggiornate in tempo quasi reale, vi mostrano quante istanze sono in esecuzione, quante sono state cancellate sotto forma di Spot e quante stanno venendo rimpiazzate; queste informazioni arrivano dalla stessa telemetria che Compute
Fleet espone in Azure Monitor, dove è già presente il contatore “Fleet VM Scale Set Capacity“.

Figura 10: Virtual Machine Scale Set

Nel nodo Instances il portale vi restituisce una vista “flattened” di tutte le Virtual Machine create da Azure Compute Fleet, indipendentemente dallo Scale set di appartenenza. A colpo d’occhio trovate la Instance ID, il nome del VMSS, la Region/Zone, la VM size e il Type (Standard oppure Spot). La colonna Status vi dice se la macchina è Running, Starting, Stopping o Deallocated, mentre Eviction reason/Time compare soltanto per le Spot e indica quando l’istanza è stata sfrattata o sta per esserlo.

Selezionando una riga si apre il consueto blade della singola VM all’interno del VMSS, dove potete usare Connect per RDP/SSH, consultare la Serial console o scaricare i Boot diagnostics. Le operazioni di Start/Stop/Restart restano disponibili ma le azioni di scale e delete sono disabilitate, perché la governance della capacità è delegata interamente a Compute Fleet; qualsiasi modifica manuale verrebbe sovrascritta dal servizio che deve mantenere la target capacity.

Figura 11: Scheda Instances dell’Azure Compute Fleet

Nel nodo Capacity potete visualizzare e ritoccare la target capacity per ciascuna priorità, separando Standard VMs e Spot VMs. Nella parte superiore compaiono due indicatori affiancati che mostrano Target e Current; il primo è il numero di istanze che avete chiesto, il secondo è quello effettivamente in esecuzione.

Figura 12: Scheda Capacity dell’Azure Compute Fleet

Nel nodo Sizes trovate la “lista ingredienti” con cui Azure Compute Fleet costruisce la vostra flotta. Il portale vi mostra in una tabella tutte le SKU di Virtual Machine che avete autorizzato, divise per priorità Standard e Spot; per ciascuna riga vedete nome della size, numero di vCPU, RAM in GiB, eventuale storage locale, lo stato di disponibilità nella regione e, quando possibile, la stima di prezzo pay-as-you-go e Spot. Accanto al nome compare l’icona della serie (Dv5, Ev5, Lsv3, ecc.) così potete riconoscere al volo se state usando VM general-purpose, memory-optimized, GPU o storage-optimized.

Figura 13: Scheda Sizes dell’Azure Compute Fleet

Conclusioni

Azure Compute Fleet rappresenta un’evoluzione significativa nella gestione di risorse di calcolo su larga scala. Con un approccio centralizzato, flessibile e ottimizzato, vi permette di semplificare il provisioning di migliaia di macchine virtuali con poche configurazioni, riducendo il tempo operativo e aumentando l’efficienza.

Grazie al supporto per VM Spot, strategie di allocazione basate su costo o disponibilità e distribuzione automatica tra zone di disponibilità, potete ottenere il massimo dalle risorse Azure, sia in termini di performance che di risparmio. Inoltre, la gestione dinamica della capacità consente di affrontare workload variabili senza compromettere la resilienza.

Azure Compute Fleet si propone quindi come uno strumento essenziale per supportare progetti di AI, big data, CI/CD, rendering e molto altro in uno scenario in cui la scalabilità e il controllo dei costi sono fattori critici.