Il quadro dei servizi compute Azure
Azure offre 4-5 modi principali di eseguire codice. La domanda tipica dell’esame è: “dato questo scenario, quale servizio usi?”.
Azure Virtual Machines (IaaS)
Cos’è: VM Windows o Linux tradizionali, con controllo totale su OS e software installato.
Quando usarlo:
- Software legacy che non gira su PaaS (es. app che serve accesso a driver specifici)
- Lift-and-shift migration di applicazioni on-premises
- Necessità di controllo sull’OS (kernel custom, tuning particolare)
Non usarlo per: nuove app cloud-native. Ci sono opzioni più efficienti (App Service, Functions).
Azure App Service (PaaS)
Cos’è: hosting managed per web app, REST API, mobile backend. Runtime managed (.NET, Node, Python, Java, PHP).
Quando usarlo:
- Nuova web app o API — deploy in minuti, zero server management
- Blue/green deployments con slot
- Autoscale automatico per traffico web
Non usarlo per: workload background-only (usa Functions), o quando serve controllo sul OS.
Azure Container Instances (ACI)
Cos’è: container Docker esecuiti senza gestire un cluster Kubernetes. Pay-per-second.
Quando usarlo:
- Job batch/one-shot in container
- Elaborazione asincrona (es. processing immagini in coda)
- Development environment condivisi
Non usarlo per: orchestration multi-container complessa (usa AKS) o workload stateful lunghi (usa AKS o VM).
Azure Kubernetes Service (AKS)
Cos’è: Kubernetes managed. Microsoft gestisce control plane, tu gestisci worker node pool.
Quando usarlo:
- Microservizi in produzione
- Pattern cloud-native complessi con service mesh
- Orchestration di 10+ container correlati
Non usarlo per: web app singola (troppo complesso — usa App Service).
Azure Functions (Serverless)
Cos’è: FaaS (Function as a Service). Scrivi una funzione, Azure la esegue in risposta a trigger (HTTP, timer, coda, file blob).
Quando usarlo:
- Elaborazione eventi (file upload → resize, message in queue → invio email)
- API leggere con traffico spot
- Job schedulati (timer trigger)
Non usarlo per: app long-running (limite 5-10 min execution) o app stateful.
Trappole tipiche d’esame
- “Voglio ospitare una web app scalabile senza gestire il OS” → App Service, non VM.
- “Voglio eseguire un batch job ogni notte alle 2:00” → Azure Functions con timer trigger, non VM sempre accesa.
- “Ho un cluster di 20 microservizi comunicanti” → AKS, non ACI.
- “Voglio migrare la mia app legacy Windows Server 2019 as-is” → Virtual Machines (rehost/lift-and-shift), non App Service.
Prossimo step
L’unità successiva copre lo Storage — Blob, File, Queue, Table — e i tier di prezzo hot/cool/archive.