Microsoft AZ-305: Elaborazione e architettura delle applicazioni — Guida allo studio
Fa parte della Microsoft Azure Solutions Architect Expert AZ-305 — Guida allo studio. Esercitati con risposte verificate nel centro esami Microsoft, oppure fai test cronometrati su ExamRoll.io.
Panoramica
Le risorse di calcolo di Azure (Azure compute) coprono modelli di esecuzione di tipo infrastruttura, piattaforma e serverless. Un’architettura solida bilancia disponibilità, costi, prestazioni, operabilità e sicurezza, adattandosi al ciclo di vita e alla topologia di distribuzione del carico di lavoro. Comprendere le capacità e i compromessi di macchine virtuali, set di scalabilità, App Service, Functions, runtime di container, piattaforme di orchestrazione, pianificazione batch, Service Fabric e Azure VMware Solution consente di creare progetti precisi e appropriati per il carico di lavoro.
Macchine Virtuali e Set di Scalabilità
Le macchine virtuali di Azure offrono famiglie di dimensioni ottimizzate per carichi di lavoro generici (Dv5, Dasv5), ottimizzati per il calcolo (Fsv2), ottimizzati per la memoria (Ev5, Ebdsv5), ottimizzati per lo storage (Lsv3 con NVMe locale), ad alta memoria (Mv2), HPC (HBv3/HC) e con GPU (NCas, ND). Selezionare le dimensioni in base ai rapporti CPU/memoria, alle esigenze di storage effimero, al throughput di rete e a funzionalità come AMD vs Intel, rete accelerata e dischi del sistema operativo effimeri.
I set di disponibilità distribuiscono le VM tra domini di errore (rack/alimentazione) e domini di aggiornamento per ridurre i guasti correlati all’interno di un singolo datacenter. Le zone di disponibilità posizionano le VM in datacenter fisicamente separati all’interno di una regione, offrendo SLA più elevati e una vera ridondanza a livello di zona al costo di una latenza tra le zone. I gruppi di posizionamento di prossimità collocano risorse zonali o non zonali nella stessa posizione fisica per minimizzare la latenza all’interno di una topologia fisica strettamente vincolata, utile per sistemi multi-livello con comunicazioni frequenti (ad es., dal livello applicativo al database).
Le VM Spot utilizzano la capacità inutilizzata a sconti elevati, con rimozione in caso di pressione sul prezzo o sulla capacità. La policy di rimozione (deallocare vs eliminare) e il Max Price ne governano il comportamento. Le istanze Spot sono ideali per carichi di lavoro stateless e interrompibili come build CI, elaborazione batch e flotte di test su larga scala, ma non per servizi stateful critici.
I Set di Scalabilità di Macchine Virtuali (VMSS) orchestrano VM identiche con un ciclo di vita unificato, probe di integrità, riparazioni automatiche delle istanze e distribuzione tra zone. La scalabilità automatica utilizza regole o pianificazioni di Azure Monitor, reagendo a metriche come CPU, memoria (tramite metriche personalizzate), profondità della coda o numero di richieste. La scalabilità automatica predittiva può pre-provisionare le risorse basandosi su modelli storici. Le modalità di orchestrazione includono Uniform (istanze omogenee) e Flexible (eterogenee, supporta famiglie di VM e mix di priorità). Gli aggiornamenti in sequenza e gli aggiornamenti automatici dell’immagine utilizzano controlli di integrità e domini di aggiornamento per drenare il traffico, convalidare e procedere in sicurezza, con possibilità di rollback in caso di peggioramento dell’integrità. I VMSS integrano la capacità Spot con il ribilanciamento della capacità e la prioritizzazione, in modo che le operazioni di scale-in/out favoriscano prima le istanze più soggette a rimozione. Combinare i VMSS con le zone per l’alta disponibilità, i PPG per la bassa latenza e l’estensione per l’integrità dell’applicazione per implementazioni sicure.
Piattaforma Web, Serverless e Applicativa
Azure App Service fornisce un hosting gestito per codice e container Windows/Linux. I piani determinano l’isolamento delle risorse di calcolo e le funzionalità:
- Free/Shared per sviluppo/test; Basic/Standard per l’ingresso in produzione; Premium v3 per prestazioni migliorate, integrazione con VNet, isolamento a livello di hyper-thread e slot di distribuzione; Isolated v2 (App Service Environment) per un hosting single-tenant e isolato a livello di rete. Gli slot di distribuzione abilitano distribuzioni di tipo blue-green e canary con warm-up, impostazioni specifiche per lo slot, aumento graduale del traffico e scambi a zero downtime. L’integrazione con VNet offre due dimensioni: integrazione regionale in uscita tramite subnet delegate (instradamento tramite NAT Gateway o route personalizzate) e accesso privato in ingresso utilizzando Endpoint Privati per disabilitare l’esposizione pubblica, integrandosi con il DNS privato. Le restrizioni di accesso di App Service, l’autenticazione/autorizzazione e le identità gestite riducono i rischi perimetrali e quelli legati alle credenziali. Lo scale up modifica il livello/dimensione del piano; lo scale out aumenta il numero di istanze con regole di scalabilità automatica legate ad Azure Monitor.
Azure Functions offre un servizio di elaborazione basato su eventi. Opzioni di hosting:
- Consumption: fatturazione per esecuzione con scalabilità dinamica e compromessi legati al cold start, durata massima dell’esecuzione e nessuna integrazione VNet per Windows fino all’uso del piano Premium; ideale per carichi di lavoro con picchi.
- Premium: istanze pre-riscaldate che eliminano i cold start, supporta l’integrazione con VNet, esecuzioni a lunga durata e prestazioni prevedibili per integrazioni enterprise.
- Dedicated (Piano di App Service): viene eseguito su istanze di App Service riservate per carichi di lavoro costanti o per il co-hosting con applicazioni web. Durable Functions introduce orchestrazioni, attività ed entità per flussi di lavoro affidabili e a lunga durata, implementando pattern come fan-out/fan-in, interazione umana e saghe con stato durevole e semantica di riesecuzione. Binding e trigger disaccoppiano il codice dai servizi: HTTP, Timer, Service Bus, Event Hubs, Event Grid, Code/Blob di Storage, Cosmos DB e binding personalizzati. La concorrenza, il comportamento di scalabilità e il checkpointing differiscono in base al piano; progettare per l’idempotenza e le policy di backoff.
Container e Kubernetes
Azure Container Instances (ACI) fornisce container serverless e veloci senza la gestione di un cluster. Un gruppo di container condivide un namespace di rete, un IP e volumi di storage; utilizza i sidecar pattern (ad es. un agent di logging accanto a un container applicativo) e configurazioni multi-container per collocare insieme processi strettamente accoppiati. L’integrazione con VNet tramite la delega di subnet abilita uno spazio di indirizzi privato, il controllo del traffico in uscita (egress) e private endpoint per le dipendenze; ciò facilita i job di tipo “burst” o on-demand da ambienti privati. ACI è ideale per task effimeri, step di CI/CD e carichi di lavoro con picchi (spiky) che richiedono tempi di avvio da secondi a minuti, ma non per service mesh complessi o scheduling avanzato.
Azure Kubernetes Service (AKS) gestisce i control plane di Kubernetes con un Uptime SLA opzionale e offre node pool di sistema e utente. Utilizza un node pool di sistema minimale con “taint” per i componenti principali e node pool utente separati per tipo di carico di lavoro (ad es. GPU, Spot, Windows). Integra i node pool Spot per risparmiare sui costi con carichi di lavoro tolleranti agli errori, utilizzando “tolerations” e PodDisruptionBudgets. Il cluster autoscaler regola il numero di nodi nei pool in base ai pod non schedulabili; combinalo con l’Horizontal Pod Autoscaler (HPA) e, per lo scaling basato su eventi, con KEDA. Azure CNI assegna indirizzi IP della VNet direttamente ai pod, semplificando la network policy, la service discovery e l’integrazione con l’ambiente on-premise tramite indirizzi instradabili, ma consumando più IP; Azure CNI Overlay riduce il consumo di IP della VNet pur preservando la semantica di CNI. Kubenet utilizza il NAT con un minor numero di IP della VNet, ma aggiunge la complessità dello SNAT e offre funzionalità di rete avanzate limitate. Scegli CNI per networking e policy di livello enterprise, kubenet per cluster più piccoli con uno spazio di indirizzamento limitato, e Overlay per un’alta densità di pod su larga scala senza un’espansione incontrollata dei CIDR (CIDR sprawl). Impiega le availability zone per i node pool, gli “surge upgrade” per ridurre al minimo le interruzioni e i canali di aggiornamento di nodi/immagini per mantenere la postura di sicurezza.
Batch e Service Fabric
Azure Batch orchestra carichi di lavoro paralleli su larga scala e HPC senza la necessità di creare un proprio scheduler. I pool definiscono le risorse di calcolo: dimensioni delle VM (incluse GPU/HPC), immagini (dal Marketplace, personalizzate o da una Shared Image Gallery) e “start task” per il bootstrap dell’ambiente. Gli application package gestiscono il versioning dei tuoi binari; i certificati e le managed identity integrano i secret in modo sicuro. I job raggruppano i task, i quali possono dichiarare dipendenze, usare il coordinamento multi-istanza e sfruttare gli “task slot” per VM. Le pianificazioni dei job (job schedule) automatizzano l’invio ricorrente. Le formule di auto-scaling fanno riferimento a metriche intrinseche (ad es. $PendingTasks, $RunningTasks) e a conteggi di destinazione (targetDedicatedNodes, targetLowPriorityNodes) con una logica per reagire alla profondità della coda, alle medie dei tempi di esecuzione e ai vincoli di costo. Gli autopool creano pool per singolo job per avere ambienti puliti; i pool persistenti ammortizzano il costo di inizializzazione per esecuzioni frequenti. Combina nodi a bassa priorità (Spot) per ridurre i costi, utilizzando una logica tollerante ai guasti e il checkpointing.
Azure Service Fabric è una piattaforma di sistemi distribuiti per microservizi con una solida gestione dello stato (state management). I servizi stateless scalano orizzontalmente e si ripristinano facilmente, mentre i servizi stateful utilizzano le Reliable Collections e la replica per soddisfare requisiti di stato a bassa latenza e in-memory, con durabilità su disco. Il partizionamento (partitioning) distribuisce il carico e lo stato; i “replica set” mantengono l’alta disponibilità. I livelli di affidabilità del cluster (Bronze, Silver, Gold, Platinum) definiscono i requisiti di “seed node” e quorum, influenzando la tolleranza ai guasti e la concorrenza degli aggiornamenti. Gli upgrade domain orchestrano gli aggiornamenti in modalità “rolling” attraverso il cluster, isolando l’impatto dei guasti; le “health policy” e il rollback automatico garantiscono la sicurezza. Service Fabric è adatto a scenari che richiedono elaborazione stateful ad alto throughput, workflow complessi, o quando la coerenza forte (strong consistency) e la co-locazione con le risorse di calcolo sono di fondamentale importanza.
Azure VMware Solution e Framework Decisionale per il Compute
Azure VMware Solution (AVS) fornisce uno stack vSphere, vSAN e NSX-T completamente gestito su bare metal di Azure. I cloud privati vengono eseguiti nelle region di Azure con accesso a vCenter e ai familiari strumenti VMware. La connettività utilizza un circuito AVS ExpressRoute in peering con le VNet di Azure tramite ExpressRoute Global Reach; da lì, ci si connette all’ambiente on-premise tramite ExpressRoute o VPN esistenti. Il networking NSX-T fornisce micro-segmentazione e routing nord-sud. HCX abilita live vMotion, bulk migration, replication-assisted vMotion e l’estensione della rete per evacuazioni del datacenter a basso downtime e per le fasi di modernizzazione. AVS è ideale per la dismissione di datacenter, per portafogli di applicazioni strettamente accoppiati ai costrutti VMware e come landing zone di transizione che si integreranno successivamente con i servizi nativi di Azure tramite private link.
La scelta del servizio di calcolo segue euristiche chiare:
- Usare Azure VM quando si richiede controllo a livello di sistema operativo, immagini personalizzate, hardware specializzato (GPU/HPC) o si hanno dipendenze legacy. Aggiungere set/zone di disponibilità e PPG per raggiungere gli obiettivi di SLA e latenza. Applicare Spot per l’ottimizzazione dei costi su carichi interrompibili.
- Usare App Service per ospitare API/siti web con framework standard e quando si desidera una piattaforma gestita, slot DevOps integrati e autoscale senza la complessità di container/Kubernetes. Scegliere il piano Premium o Isolated quando è necessaria l’integrazione con VNet e funzionalità enterprise.
- Usare Azure Functions per task event-driven, con picchi di carico (bursty) o orientati al workflow con un overhead operativo minimo; il piano Premium elimina i cold start e abilita l’accesso privato/a VNet. Adottare Durable Functions per orchestrazioni e attività a lunga esecuzione.
- Usare ACI per container e processi effimeri, scalabilità rapida e come target di esecuzione serverless da pipeline o nodi virtuali di AKS. Scegliere ACI con integrazione VNet per carichi di lavoro privati.
- Usare AKS per microservizi, portabilità, scheduling avanzato, service mesh e DevOps standardizzato per container su larga scala; selezionare il modello CNI in base alle esigenze di indirizzamento IP e ai requisiti delle policy di rete. Partizionare i pool di nodi per caratteristiche del carico di lavoro e zone di disponibilità, e abilitare l’autoscaling.
- Usare Azure Batch per carichi di lavoro di calcolo parallelo, rendering, Monte Carlo ed ETL con pianificazione, vantaggi economici dell’autoscale e capacità a bassa priorità.
- Usare Service Fabric per microservizi stateful ad alto throughput o quando sono richieste coerenza forte (strong consistency), reliable actor e un controllo preciso su aggiornamento e posizionamento.
- Usare AVS per migrare rapidamente gli ambienti VMware, preservare i modelli operativi e integrare con il networking e i servizi di Azure come parte della modernizzazione.
Scenario Pratico
Contoso Retail sta modernizzando la sua piattaforma di e-commerce per gestire vendite flash con una latenza inferiore a 10 ms tra il suo livello API e un livello di caching, rispettare un SLA del 99,99% in una singola region, minimizzare i costi durante la domanda normale e migrare un sistema legacy di gestione degli ordini ancora in esecuzione su VMware. La soluzione deve esporre API pubbliche, elaborare eventi asincroni ed eseguire lo scoring notturno del modello di raccomandazione senza impattare il sito live.
Posizionare il calcolo principale in una region con tre zone di disponibilità e creare un gruppo di posizionamento di prossimità (PPG). Ospitare il livello API in un VMSS zonale (Premium SSD v2, networking accelerato) all’interno del PPG per una latenza minima verso Redis Enterprise e un footprint zonale di SQL/Cache. Questa scelta offre un controllo granulare delle prestazioni, una riduzione della latenza a livello di PPG e una resilienza a livello di zona per il percorso critico (hot path).
Configurare l’autoscale del VMSS in base alla frequenza delle richieste e a metriche personalizzate sulla profondità della coda, con profili pianificati per le vendite flash previste. Abilitare aggiornamenti continui (rolling upgrade) con health probe e aggiornamenti automatici dell’immagine. Ciò garantisce capacità elastica e rollout sicuri sotto carico estremo, mantenendo l’SLA.
Distribuire il front-end web rivolto al cliente su Azure App Service Premium v3 con slot di distribuzione per un deployment blue-green. Integrare l’app con una VNet per l’egress privato verso le API di back-end e i datastore tramite Private Endpoint. App Service è stato scelto per delegare la gestione della piattaforma e semplificare la continuous delivery con swap sicuri.
Implementare l’elaborazione asincrona degli ordini con Azure Functions Premium utilizzando trigger di Service Bus e Durable Functions per le orchestrazioni (fan-out/fan-in per controlli di inventario, autorizzazione dei pagamenti e notifiche). Il piano Premium elimina i cold start, supporta l’integrazione con VNet e Durable Functions fornisce un coordinamento affidabile tramite il pattern saga.
Usare Azure Batch per lo scoring notturno del modello di raccomandazione su nodi a bassa priorità (Spot) in un pool persistente precaricato con le dipendenze del modello. Una formula di autoscale definisce il numero di nodi in base ai task in attesa e alle previsioni sul tempo di esecuzione (wall-clock). Batch isola il carico di lavoro di calcolo pesante dallo store operativo e ottimizza i costi con la capacità Spot e i task con checkpoint.
Aggiungere ACI per processi di trasformazione dati ad-hoc e con picchi di carico, attivati da CI/CD, e per la generazione di report specifici per tenant. Distribuire i gruppi di container in una subnet delegata per mantenere tutta l’elaborazione nello spazio di indirizzamento privato. ACI è stato selezionato per l’avvio quasi istantaneo e l’overhead di cluster nullo per i task sporadici.
Implementare Azure VMware Solution per il sistema legacy di gestione degli ordini, migrando con HCX tramite replication-assisted vMotion ed estendendo le reti on-premise verso AVS durante la transizione. Connettere AVS alle VNet dell’applicazione tramite ExpressRoute Global Reach. AVS preserva gli strumenti operativi e accelera la dismissione del datacenter senza refactoring.
Per i futuri microservizi, distribuire AKS con pool di nodi utente zonali, un pool di sistema con taint e un pool Spot per carichi di lavoro tolleranti. Scegliere Azure CNI Overlay per risparmiare spazio di indirizzi IP della VNet mantenendo le capacità di policy. Abilitare il cluster autoscaler e l’HPA per uno scaling a più livelli. AKS posiziona Contoso per un’evoluzione container-native dove l’orchestrazione aggiunge valore.
Questa composizione soddisfa i requisiti di bassa latenza e alta disponibilità tramite VMSS con PPG e zone per il percorso critico (hot path), semplifica la distribuzione web con App Service, utilizza in modo efficiente serverless e batch per il calcolo asincrono e batch, sfrutta ACI per i task effimeri e impiega AVS per migrare i sistemi dipendenti da VMware — il tutto integrato privatamente tramite VNet e Private Endpoint per mantenere sicurezza e prestazioni.
← Archiviazione dei dati e soluzioni di database · Tutti i domini · Reti e connettività →
Esercitati su queste domande → · Pratica cronometrata su ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Supera l'esame →