Microsoft AZ-305: Architettura di integrazione e messaggistica — 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

L’architettura di integrazione e messaggistica su Azure si basa sulla selezione del servizio corretto per la semantica di spostamento di comandi, eventi e dati; sulla progettazione per l’affidabilità, l’ordinamento e la scalabilità; e sull’integrazione sicura di sistemi ibridi. I componenti fondamentali includono Azure Service Bus per la messaggistica enterprise con broker avanzati, Azure Event Grid per il routing reattivo degli eventi, Azure Event Hubs per l’ingestion di flussi di dati ad alta velocità e Storage Queues per l’accodamento semplice. A questi si affiancano Azure Logic Apps per l’automazione dei processi, API Management per la governance e la developer experience, Azure Data Factory per ETL/ELT, Azure Relay per la connettività on-premise compatibile con i firewall e Azure Notification Hubs per le notifiche push per dispositivi mobili. Una progettazione solida utilizza il servizio giusto per ogni compito, modella esplicitamente i contratti e le modalità di errore e applica pattern di orchestrazione o coreografia dove appropriato.

Messaggistica ed Eventing su Azure

Azure Service Bus è il broker enterprise per comandi e flussi di lavoro che richiedono consegna ordinata, transazioni, FIFO all’interno di gruppi e gestione dei messaggi non recapitabili (dead-letter). Le code (Queues) forniscono una messaggistica point-to-point tra un produttore e un gruppo di consumer in competizione. I topic abilitano il modello pub/sub con sottoscrizioni multiple e indipendenti che possono filtrare e instradare i messaggi usando filtri e azioni simili a SQL. Le sessioni di messaggi (Message sessions) raggruppano messaggi correlati sotto un sessionId, abilitando l’elaborazione FIFO e stateful per ogni gruppo; il blocco della sessione (session lock) garantisce che un singolo consumer elabori una sessione alla volta. Le code di messaggi non recapitabili (Dead-letter queues) catturano i “poison message” (messaggi non elaborabili) quando viene superato il numero massimo di tentativi di consegna, il TTL scade o quando vengono esplicitamente contrassegnati come non recapitabili, permettendo la quarantena e l’ispezione successiva; ogni coda o sottoscrizione ha una sottocoda $DeadLetterQueue. Le transazioni consentono operazioni atomiche di invio/ricezione/completamento tra entità all’interno dello stesso namespace, garantendo, ad esempio, che un messaggio venga completato solo se i messaggi successivi vengono inviati con successo (il meccanismo “send-via” supporta flussi di lavoro tra entità diverse).

Azure Event Grid è un router di eventi completamente gestito per pattern reattivi basati su push. Utilizza lo schema nativo di Event Grid o CloudEvents 1.0. Le sottoscrizioni agli eventi (Event subscriptions) hanno come destinazione endpoint come Functions, Logic Apps, Service Bus, Event Hubs, WebHooks e Storage Queues, con filtri sull’oggetto (subject) e filtri avanzati per ridurre il “rumore”. La consegna viene ritentata con un backoff esponenziale; le sottoscrizioni supportano una policy di tentativi configurabile (numero massimo di tentativi di consegna e tempo di vita dell’evento) e possono inviare gli eventi non recapitabili a un account di Storage (dead-lettering). La convalida tramite handshake protegge gli endpoint WebHook e le identità gestite (managed identities) semplificano la pubblicazione e la consegna agli endpoint di Azure.

Azure Event Hubs acquisisce telemetria e dati in streaming su larga scala tramite log partizionati. Le partizioni forniscono parallelismo e ordinamento all’interno di una singola partizione; scegliere una chiave di partizione (partition key) per mantenere ordinati gli eventi correlati. Il numero di partizioni determina la scalabilità e non può essere ridotto dopo la creazione, quindi è necessario dimensionarlo per la velocità effettiva (throughput) futura. I gruppi di consumer (Consumer groups) forniscono viste indipendenti del flusso di eventi per diverse applicazioni senza interferire con gli offset degli altri. La funzionalità Capture scarica i dati in modo persistente su Azure Blob Storage o Data Lake Storage quasi in tempo reale, basandosi su finestre temporali o di dimensione, tipicamente in formato Avro, abilitando l’analisi batch senza impattare l’ingestion. Lo Schema Registry integrato memorizza schemi Avro/JSON con policy di versioning e compatibilità, consentendo a produttori e consumatori di convalidare e far evolvere i contratti in modo sicuro.

Le Storage Queues offrono una consegna “at-least-once” (almeno una volta) semplice ed economica, con timeout di invisibilità e una gestione di base dei messaggi non recapitabili tramite il TTL del messaggio e la gestione dei “poison message” a livello applicativo. Mancano di transazioni, sessioni e routing avanzato, ma eccellono nel disaccoppiamento di base e in scenari di fan-out su larga scala a basso costo.

Quando scegliere quale servizio:

Integrazione, API e Connettività Ibrida

Azure Logic Apps fornisce l’automazione di flussi di lavoro gestiti con centinaia di connettori. Nel modello Consumption (multi-tenant), si paga per azione con scalabilità automatica e connettori multi-tenant; ideale per carichi di lavoro intermittenti (bursty). Il modello Standard (single-tenant) viene eseguito sul runtime di Functions con flussi di lavoro stateful/stateless, throughput più elevato, connettori personalizzati e connettori integrati eseguiti in-process, containerizzazione, sviluppo locale e integrazione con VNET/private endpoint; ideale per l’isolamento a livello enterprise e una capacità prevedibile. L’Integration Service Environment (ISE) è uno “stamp” dedicato legacy per il networking privato e la località dei dati; i nuovi progetti generalmente preferiscono Logic Apps Standard con integrazione VNET o la distribuzione su App Service Environment v3.

Azure API Management (APIM) fornisce un livello di astrazione e governance per le API. Le policy si applicano nelle fasi di inbound, backend e outbound per imporre requisiti trasversali (cross-cutting concerns) come validate-jwt, rate-limit-by-key, quota, set-header, retry, cache-lookup/store e set-backend-service per il routing dinamico. I Products raggruppano una o più API, aggregano il comportamento delle policy e sono pubblicabili a gruppi specifici. Le Subscriptions emettono chiavi per singolo consumer o per prodotto per misurare e controllare l’accesso; le chiavi possono essere ruotate e associate a quote. Il developer portal abilita flussi di lavoro self-service per la scoperta, la documentazione, il testing (try-it) e l’onboarding, mentre il self-hosted gateway consente implementazioni ibride control plane/edge per ambienti on-premise o altri cloud.

Azure Relay abilita la connettività in entrata (inbound) verso servizi on-premise senza la necessità di aprire porte firewall in entrata. Le Hybrid Connections utilizzano WebSockets su TLS 443 per comunicazioni socket bidirezionali generiche, avviate in uscita (outbound) dall’ambiente on-premise e dai client verso il Relay, utili per HTTP e protocolli arbitrari incapsulati su WebSockets. WCF Relay espone endpoint WCF on-premise (NetTcp/HTTP) attraverso il relay con sicurezza a livello di trasporto o di messaggio e accesso basato su claims; è ideale per servizi WCF esistenti che necessitano di un’esposizione sicura e compatibile con i firewall.

Azure Notification Hubs è un broker di notifiche push multipiattaforma che astrae i sistemi di notifica delle piattaforme (APNs per iOS, FCM per Android, WNS per Windows, ADM per Amazon). I backend registrano dispositivi o installazioni con tag e template per indirizzare e personalizzare le notifiche su larga scala. Sono richieste le credenziali della piattaforma per ogni PNS: chiave p8 o certificato APNs, chiave/credenziali del server FCM, package SID/secret WNS. Notification Hubs gestisce il fan-out, il throttling e la gestione dei token, in modo che il codice dell’applicazione rimanga agnostico rispetto al PNS.

Spostamento Dati e Analisi in Streaming

Azure Data Factory (ADF) orchestra l’integrazione dei dati tra ambienti ibridi. Gli Integration Runtimes (IRs) ospitano la capacità di calcolo per le attività: Azure IR per la copia serverless e i data flow all’interno di Azure, Self-hosted IR per lo spostamento/calcolo dei dati all’interno di reti private senza aprire porte in entrata, e Azure-SSIS IR per eseguire il lift-and-shift di pacchetti SSIS su cluster gestiti. Le Pipelines orchestrano le attività con un flusso di controllo (dipendenze, cicli, diramazioni, trigger) e parametrizzazione per il riutilizzo. I Mapping Data Flows forniscono trasformazioni code-free basate su Spark su larga scala, con gestione dello schema drift e controlli di partizionamento; da utilizzare quando le trasformazioni sono complesse ma si desidera una capacità di calcolo gestita. I Linked services definiscono i metadati di connessione e le credenziali per le origini (sources), le destinazioni (sinks) e la capacità di calcolo; i dataset e le origini/destinazioni dei data flow fanno riferimento a questi, abilitando il riutilizzo sicuro e il controllo degli accessi basato sui ruoli (RBAC).

Event Hubs si integra con gli strumenti di analisi tramite la funzione Capture su storage persistente; successivamente, Azure Synapse o Databricks possono elaborare i file Avro in micro-batch. Schema Registry semplifica la deserializzazione e l’evoluzione negli processi di streaming centralizzando i contratti, evitando una tipizzazione implicita e fragile tra producer e consumer.

Affidabilità e Pattern Event-Driven

La progettazione per l’affidabilità inizia con una gestione esplicita dei fallimenti. Service Bus fornisce code di messaggi non recapitabili (dead-letter queue, DLQ) per ogni entità; i consumer dovrebbero monitorare ed eseguire il triage delle DLQ, opzionalmente inoltrando automaticamente i messaggi a code di analisi. Utilizzare il rilevamento dei duplicati e handler idempotenti per evitare la doppia elaborazione. Sfruttare le transazioni per finalizzare atomicamente le ricezioni e inviare messaggi in uscita (outbox), e usare le sessioni per l’elaborazione ordinata per entità di business, scalando tra le sessioni. La policy di re-tentativo di Event Grid utilizza un backoff esponenziale con limiti configurabili; configurare il dead-lettering su Storage per l’auditabilità e costruire strumenti di riesecuzione (replay). Event Hubs garantisce una consegna at-least-once (almeno una volta); il checkpointing tramite SDK (o trigger di Azure Functions) assicura il tracciamento del progresso per partizione/gruppo di consumer. Storage Queues si basa su timeout di visibilità e pattern di messaggi non elaborabili (poison message) che si implementano esplicitamente.

L’architettura event-driven utilizza tipicamente la coreografia o l’orchestrazione. La coreografia distribuisce il coordinamento tra i servizi che reagiscono agli eventi dei loro pari. È debolmente accoppiata, scalabile e resiliente a fallimenti parziali, ma può diventare difficile da visualizzare e governare, e le compensazioni sono disperse. L’orchestrazione centralizza il controllo del flusso in un orchestratore come Azure Durable Functions, Logic Apps o un motore di workflow, migliorando l’osservabilità, la logica di timeout/compensazione e i passaggi con intervento umano (human-in-the-loop) al costo di un accoppiamento più stretto con l’orchestratore. Il pattern saga implementa transazioni a lunga durata e multi-step con azioni di compensazione invece di commit a due fasi. Nella coreografia, ogni servizio ascolta gli eventi di dominio ed emette compensazioni secondo necessità; nell’orchestrazione, l’orchestratore invoca attività e attiva compensazioni in caso di fallimento o timeout. Su Azure, si implementano le saga utilizzando Durable Functions (orchestrazione stateful, re-tentativi, timeout, pattern di compensazione) con Service Bus per la consegna affidabile dei comandi, o con Logic Apps Standard per workflow aziendali robusti e connettori integrati.

Scenario Pratico del Problema

Contoso Retail modernizza l’elaborazione degli ordini che coinvolge un ERP on-premise, un sito di e-commerce, app mobili e sistemi di analytics a valle. La soluzione deve supportare notifiche ai partner, analisi della telemetria in tempo reale, accesso sicuro on-premise e notifiche push su mobile, con un ordinamento rigoroso e compensazioni per pagamenti e inventario.

  1. Ingestione e workflow dei comandi
  1. Orchestrazione e compensazioni
  1. Notifiche event-driven
  1. Streaming di telemetria e analytics
  1. Integrazione dei dati
  1. API e governance dei partner
  1. Automazione del workflow e connettori
  1. Connettività ibrida
  1. Push su mobile

Questo design associa ogni requisito a servizi specifici: Service Bus per comandi affidabili, Durable Functions per saga orchestrate, Event Grid per notifiche push, Event Hubs + Capture + Schema Registry per analytics in streaming, ADF per ETL/ELT ibridi, APIM per la governance, Logic Apps per l’automazione aziendale, Relay per l’accesso on-premise e Notification Hubs per il coinvolgimento su mobile.


Architettura della sicurezza e Zero Trust · Tutti i domini · Monitoraggio

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 →

Sfoglia Microsoft →

Related guides

Accesso tutto incluso

Un abbonamento. Ogni esame.

Ogni piano sblocca la ricerca illimitata di risposte, test pratici, spiegazioni AI e la libreria completa di risorse — in oltre 20 lingue.

Mensile
24.87
Just €0.83/day
Tutto incluso:
  • Ricerca risposte illimitata
  • Test pratici illimitati
  • Spiegazioni basate su AI
  • Libreria completa di risorse
  • Oltre 20 lingue
  • Aggiornamenti settimanali dei contenuti
  • Premi e referral
  • Supporto prioritario
Inizia la prova gratuita

Nessuna carta di credito richiesta*

Miglior valore
12 mesi
179.87
Just €0.49/daySave 40%
Tutto incluso:
  • Ricerca risposte illimitata
  • Test pratici illimitati
  • Spiegazioni basate su AI
  • Libreria completa di risorse
  • Oltre 20 lingue
  • Aggiornamenti settimanali dei contenuti
  • Premi e referral
  • Supporto prioritario
Inizia la prova gratuita

Nessuna carta di credito richiesta*

✓ Piano gratuito incluso · ✓ Annulla in qualsiasi momento · ✓ Tutti i piani sbloccano il prodotto completo