Gestire i costi in Azure non significa solo “spendere meno”, ma avere visibilità, prevedibilità e governance sul consumo. Come amministratore, l’esame AZ-104 si aspetta che tu distingua con precisione gli strumenti di analisi dai costrutti di fatturazione e che sappia scegliere il pricing model corretto per ogni scenario.

Cost Management vs Billing account

È la distinzione concettuale più importante. Microsoft Cost Management è lo strumento analitico: ti mostra quanto stai consumando, dove e con quali trend, e ti permette di impostare budget e alert. Non emette fatture e non gestisce i metodi di pagamento.

Il billing account vive invece nel piano di fatturazione (Microsoft Customer Agreement, Enterprise Agreement o pay-as-you-go). Qui trovi le invoice effettive, i billing profile e le sezioni di fatturazione. In sintesi:

  • Cost Management → analisi del consumo stimato/amortized, budget, esportazioni.
  • Billing → documenti fiscali reali, metodi di pagamento, scope organizzativi.

Un dettaglio da ricordare: i dati di Cost Analysis sono near-real-time ma non definitivi; la invoice può differire leggermente perché consolida il ciclo di fatturazione.

Cost Analysis

Cost Analysis è la vista principale per esplorare la spesa. Punti chiave:

  • Puoi filtrare e raggruppare per resource group, service name, location, subscription o tag.
  • Distingue tra costo actual (quanto fatturato nel periodo) e amortized (che spalma il costo upfront delle reservation lungo la loro durata). Per valutare l’impatto reale delle reservation usa la vista amortized.
  • Consente scheduled exports verso uno Storage Account per analisi esterne (Power BI, Microsoft Fabric).

Lo scope conta: analisi a livello di management group aggrega più subscription, utile per una vista enterprise.

Budget e alert

Un budget definisce una soglia di spesa (o di quantità) su uno scope, con alert a percentuali configurabili (es. 80%, 100%, forecast > 100%). Gli alert possono notificare via email o action group (webhook, Logic App, Automation).

Concetto critico per l’esame: il budget NON blocca la spesa. È un meccanismo di notifica. Se devi fermare realmente il consumo servono automazioni (stop/deallocate delle VM via Automation Runbook) oppure Azure Policy per impedire il deploy di risorse costose.

Cost allocation tramite tag

I tag (coppie chiave-valore) sono lo strumento primario di cost allocation e chargeback. Applicati alle risorse, permettono di raggruppare la spesa per CostCenter, Environment, Project.

Attenzione architetturale:

  • I tag non sono ereditati automaticamente dal resource group alla risorsa: per uniformarli si usa Azure Policy con effetto modify/append o inherit tag from resource group.
  • Alcune risorse non emettono costo con il tag della risorsa figlia; per questo esistono le tag inheritance rules di Cost Management.

Pricing model

Scegliere il modello giusto è tema d’esame ricorrente:

  • Pay-as-you-go: flessibile, nessun impegno, ideale per workload variabili o brevi.
  • Reservations (Reserved Instances): impegno 1 o 3 anni su VM, SQL, Cosmos DB ecc. Sconti fino a circa 72% rispetto a PAYG. Ottime per workload stabili e prevedibili (produzione 24/7).
  • Azure Hybrid Benefit: riutilizzi licenze Windows Server / SQL Server con Software Assurance per pagare solo la parte compute. Cumulabile con le reservation.
  • Spot VM: capacità inutilizzata a prezzo fortemente scontato, ma evictable con breve preavviso. Adatte a batch, rendering, test — mai a workload stateful o critici.

Per dev/test, l’auto-shutdown delle VM (schedulato) riduce drasticamente i costi spegnendo le macchine di notte: ricorda che il costo compute cessa solo con lo stato Stopped (deallocated), non con il semplice “Stopped”.

Trappole tipiche d’esame

  • Scenario: superata la soglia del budget, la spesa deve fermarsi automaticamente → un budget alert notifica ma non blocca; serve un’action group che avvii un runbook di deallocation o una Azure Policy restrittiva.
  • Scenario: workload di produzione sempre attivo, si vuole ridurre il costo → Reservation 1/3 anni (+ Azure Hybrid Benefit se Windows/SQL), non Spot.
  • Scenario: job batch tollerante alle interruzioni, budget minimo → Spot VM.
  • Scenario: serve la spesa per centro di costo → tag + raggruppamento in Cost Analysis, con Azure Policy per forzarne l’applicazione.
  • Scenario: valutare il beneficio reale delle reservation acquistate → vista amortized cost, non actual.
  • Scenario: VM di dev spenta ma continua a costare → è solo Stopped; deve essere Stopped (deallocated) (auto-shutdown).