Azure Service Bus: una guida introduttiva

Azure Service Bus è una piattaforma di messaggistica cloud che facilita la comunicazione affidabile tra applicazioni e servizi, sia nel cloud che in ambienti ibridi, progettata per supportare scenari di integrazione aziendale complessi. Il servizio offre funzionalità avanzate per la gestione e la risoluzione delle transazioni, rendendolo una soluzione ideale per architetture distribuite che richiedono una comunicazione asincrona efficiente in cui le applicazioni possano scambiarsi messaggi in modo sicuro e scalabile, indipendentemente dalle fluttuazioni della domanda o dai picchi di carico. In questo articolo daremo uno sguardo a cos’è Azure Service Bus, come funziona, quali sono le differenze con altri servizi di messaggistica di Azure e quali sono i costi e i piani di prezzo previsti dal servizio.

Cosa troverai in questo articolo

  • Cos’è Azure Service Bus
  • Azure Service Bus: come funziona?
  • Azure Service Bus vs Event Hub
  • Azure Service Bus vs Azure Queue
  • Azure Service Bus Pricing: piani di prezzo e costi
Azure Service Bus: una guida introduttiva

Che cos’è Azure Service Bus

Un'applicazione potrebbe aver bisogno di una corsia preferenziale per comunicare e trasferire dati o file ad altre applicazioni o servizi. Quando ci sono più applicazioni e servizi che operano insieme dipendendo l'uno dall'altro, la gestione adeguata di questo trasferimento può diventare un serio problema.

Questo tipo di operazioni di comunicazione tra app, servizi e utenti è molto importante e deve essere gestito correttamente e in nostro soccorso arriva Azure Service Bus, un messaggero che aiuta proprio in questo specifico trasferimento di dati.

Service Bus è un servizio di message-broking che facilita il trasferimento dei messaggi e dispone di funzionalità avanzate che possono aiutare gli sviluppatori e le loro applicazioni nella consegna efficiente di questi ultimi. Il servizio è completamente gestito da Microsoft per quanto riguarda l’infrastruttura sottostante, il che significa che gli utenti non devono intervenire per configurarlo, risparmiando tempo e denaro preziosi.

Gli argomenti e le code di messaggi permettono il trattamento del trasferimento di messaggi tra app e servizi con versatilità, consentendo alle applicazioni di funzionare correttamente e affrontare senza intoppi le sfide nel trasferimento dei dati. Service Bus consente inoltre ad applicazioni e servizi di operare in modo indipendente, offrendo loro i vantaggi di utilizzare meno risorse e di avere meno punti di guasto.

Ma come funziona nello specifico? Quando utilizzarlo? Vediamolo insieme.

Azure Service Bus: come funziona?

Azure Service Bus fornisce un modo sicuro e affidabile per inviare e ricevere messaggi tra varie applicazioni, servizi e dispositivi, utilizzando il protocollo AMQP (Advanced Message Queuing Protocol) - lo stesso protocollo utilizzato da altri sistemi di messaggistica come RabbitMQ, Apache Qpid, IBM MQ, ActiveMQ. Non è comunque il solo a poter essere utilizzato e la piattaforma supporta anche SBMP (Simple Blockchain Messaging Protocol) e HTTP/HTTPS.

La definizione “servizio di messaggistica” potrebbe trarre in inganno chi non è familiare con la terminologia informatica. In questo caso non stiamo parlando di messaggi scambiati tra utenti come in applicazioni come WhatsApp o Teams ma stiamo invece parlando di trasferimenti di dati tra applicazioni e servizi.

Un messaggio contiene dati che vengono inviati da un'applicazione e saranno consumati da un'altra app ed è composto da due parti principali:

  • Il corpo del messaggio: contiene i dati che vengono trasmessi.
  • Le proprietà del messaggio: forniscono metadati sul messaggio, sotto forma di coppie chiave-valore. Alcune delle proprietà comuni dei messaggi sono: Message Id, Correlation Id, Label, Time to Live (TTL), Delivery Count, Reply To, Session Id.

Questo tipo di messaggistica presenta diversi vantaggi per gli sviluppatori software che devono far comunicare tra di loro applicazioni diverse, tra cui i più importanti sono:

  • Disaccoppiamento: Permette alle applicazioni di comunicare tra loro senza essere direttamente connesse o dipendenti l'una dall'altra. Questo riduce la complessità e aumenta la flessibilità dell'architettura del sistema.
  • Affidabilità: I messaggi possono essere inviati in modo affidabile anche in condizioni di rete non affidabili. Service Bus garantisce che i messaggi vengano consegnati e trattati secondo le specifiche impostate, utilizzando meccanismi di retry e gestione degli errori.
  • Scalabilità: Consentono alle applicazioni di gestire carichi di lavoro variabili e picchi di traffico senza compromettere le prestazioni. Service Bus può scalare orizzontalmente per gestire un elevato numero di messaggi in entrata e in uscita.
  • Sicurezza: I messaggi possono essere crittografati per proteggere i dati sensibili durante il trasporto. Service Bus offre funzionalità di controllo degli accessi per garantire che solo le applicazioni autorizzate possano inviare o ricevere messaggi.

In linea generale, gli scenari in cui comunemente si opta per utilizzare un sistema orientato ai messaggi come Azure Service Bus sono due:

  • Microservizi e sistemi distribuiti: scenari in cui è necessario abilitare la comunicazione asincrona tra applicazioni/servizi (in questo modo è possibile disaccoppiare il mittente dal destinatario, permettendo loro di operare in modo indipendente).
  • Elaborazione a lungo termine: scenari in cui l'applicazione deve elaborare qualcosa che richiede troppo tempo. Ad esempio, se la tua app deve elaborare un file che comporterà un certo ritardo, puoi utilizzare un sistema di messaggistica per informare l'utente che il file è in fase di elaborazione e che riceverà una notifica una volta completato il processo, evitando che l'utente debba aspettare il completamento dell'elaborazione per poter utilizzare di nuovo l'applicazione.

Lo scambio di messaggi tra applicazioni che utilizzano Service Bus può essere effettuato utilizzando due diverse strutture: code e argomenti. Vediamole più da vicino insieme ad altre feature chiave di Service Bus.

Queue

Le code (Queues) sono una struttura dati che memorizza i messaggi inviati tra due o più applicazioni/servizi. Un messaggio è conservato in una coda fino a quando non viene recuperato da un ricevitore.

Una coda è fondamentalmente l'implementazione della struttura dati FIFO (First-In-First-Out), il che significa che il primo messaggio che arriva nella coda sarà il primo messaggio a essere elaborato. In altre parole, i messaggi vengono consegnati ed elaborati nell'ordine in cui vengono ricevuti, garantendo una linearità temporale nel loro processing. In un sistema di messaggistica basato su code, è comune avere uno o più produttori che inviano messaggi alla coda e un singolo consumatore che riceve ed elabora i messaggi.

Si noti che la dimensione massima della coda è di 80 GB (se si prevede che la dimensione della coda cresca oltre tale limite, è possibile considerare l'uso del piano Premium del servizio per aggirare questo tipo di limitazioni).

Topic

Gli argomenti (Topics) sono una struttura dati che consente di pubblicare messaggi che saranno ricevuti (sottoscritti) da più ricevitori (ogni ricevitore ha la propria sottoscrizione, non è "Azure Subscription" come potrebbe far pensare il nome). È simile a una coda, ma permette a più sottoscrittori di ricevere copie dello stesso messaggio. Quando un messaggio viene pubblicato/inviato a un argomento, esso viene consegnato a tutti i sottoscrittori di quell'argomento (ogni sottoscrittore riceverà una copia del messaggio e potrà elaborarlo in modo indipendente).

Da considerare che, anche dopo che tutti i sottoscrittori hanno ricevuto il messaggio, esso non verrà automaticamente eliminato dall'argomento. I sottoscrittori devono eliminare esplicitamente il messaggio dopo che è stato elaborato, altrimenti rimarrà nell'argomento e potrebbe essere consegnato di nuovo ai sottoscrittori.

È possibile creare regole su una sottoscrizione. Si può avere un filtro per definire una condizione affinché il messaggio venga copiato nella sottoscrizione nel caso in cui non si desideri che una sottoscrizione riceva tutti i messaggi inviati a un argomento. Si può anche avere un'azione opzionale che può modificare i metadati del messaggio, nel caso in cui si voglia arricchire i messaggi con metadati extra quando passano attraverso una sottoscrizione.

Topic Filter

È possibile creare filtri affinché i sottoscrittori definiscano quali messaggi vogliono ricevere da un argomento (topic). Questi messaggi sono specificati sotto forma di una o più regole di sottoscrizione denominate. Ogni regola consiste in una condizione di filtro che seleziona particolari messaggi e, opzionalmente, contiene un'azione che annota il messaggio selezionato. Service Bus supporta tre condizioni di filtro:

  • Filtri SQL: questo tipo di filtro consente di filtrare i messaggi basandosi su una sintassi/condizione di espressione simile a SQL.
  • Filtri booleani: il TrueFilter e il FalseFilter permettono che tutti i messaggi in arrivo (true) o nessuno dei messaggi in arrivo (false) vengano selezionati per la sottoscrizione.
  • Filtri di correlazione: questo tipo di filtro consente di filtrare i messaggi che corrispondono a determinate proprietà, come CorrelationId, ContentType, Label, MessageId, ReplyTo, ReplyToSessionId, SessionId, To e qualsiasi proprietà definita dall'utente.

Namespace

Un namespace è un contenitore logico che fornisce un ambito per organizzare e gestire le risorse di messaggistica. È l'unità di gestione e di isolamento logico all'interno della quale vengono create e utilizzate le code, gli argomenti, le sottoscrizioni e altri oggetti di Azure Service Bus.

Non è altro quindi che un ambiente di lavoro isolato che permette di organizzare e gestire in modo efficiente le risorse di messaggistica all'interno dell'ambiente cloud di Azure.

Quando si crea un namespace in Service Bus, si ottiene un endpoint univoco per accedere ai servizi di messaggistica all'interno di Azure. Questo endpoint può essere utilizzato dalle applicazioni e dai servizi per inviare e ricevere messaggi attraverso le code o gli argomenti gestiti all'interno del namespace.

Azure Service Bus Session

Le sessioni sono una funzionalità che può essere abilitata su code e argomenti, permettendo di raggruppare un insieme di messaggi correlati e di elaborarli come un'unità singola. Abilitando le sessioni su una coda o un argomento, ogni messaggio è associato a un identificatore di sessione, che puoi usare per raggruppare i messaggi insieme e processarli.

Se si desidera usare le sessioni con Azure Service Bus, è possibile creare una coda o un argomento con le sessioni abilitate, e poi creare un consumatore di messaggi che possa gestire i messaggi session-aware.

Quando si invia un messaggio a una coda o un argomento con sessioni abilitate, è possibile specificare l'identificatore di sessione per il messaggio, che determinerà a quale sessione appartiene. Quando il consumatore riceve il messaggio, può usare l'identificatore di sessione per identificare la sessione e processare i messaggi della sessione come un'unità.

Questa funzionalità può essere utile nelle seguenti situazioni:

  • Quando si ha bisogno di elaborare un gruppo di messaggi correlati in un ordine specifico.
  • Quando si necessita di mantenere un blocco su un gruppo di messaggi durante l'elaborazione, per impedire ad altri consumatori di elaborare gli stessi messaggi contemporaneamente.
  • Quando si devono memorizzare informazioni sullo stato di un gruppo di messaggi, come il progresso di un lavoro di elaborazione batch.

Sai che aiutiamo i nostri clienti nella gestione dei loro tenant Azure?

Abbiamo creato il team Infra&Security, verticale sul cloud Azure, per rispondere alle esigenze dei clienti che ci coinvolgono nelle decisioni tecniche e strategiche. Oltre a configurare e gestire il loro tenant, ci occupiamo di:

  • ottimizzare i costi delle risorse
  • implementare procedure di scaling e high availability
  • creare deployment applicativi tramite le pipeline di DevOps
  • monitoring
  • e soprattutto security!

Con Dev4Side, hai un partner affidabile in grado di supportarti sull'intero ecosistema applicativo di Microsoft.

Azure Service Bus: differenze con Event Hub e Azure Queue

Azure, tra i numerosi servizi offerti, mette a disposizione altre opzioni dedicate alla messagistica oltre a Azure Service Bus. Ognuna di esse è orientata a coprire determinati tipi di scenari e situazioni ma la differenza potrebbe non essere immediatamente apparente, in particolar modo se non si è familiari con il tema.

In questa sezione dedicheremo quindi un po’ di spazio al confronto tra Service Bus e altri due tra i servizi più importanti di Azure dedicati alla messaggistica, ovvero Azure Event Hub e Azure Queue Storage e cercheremo di capire quali sono le differenze cardine con Service Bus e quale scegliere al momento giusto per soddisfare le proprie esigenze di sviluppo.

Azure Service Bus vs. Event Hub

Azure Service Bus e Azure Event Hub, sebbene siano entrambi servizi di messaggistica, hanno caratteristiche e finalità distinte. Per capire la differenza tra i due dobbiamo prima afferrare la distinzione che c’è tra un messaggio e un evento.

Un messaggio, come abbiamo già visto, è un dato grezzo prodotto da un servizio per essere consumato o archiviato altrove. Il messaggio contiene i dati che hanno scatenato la pipeline del messaggio e il publisher del messaggio ha un'aspettativa su come il consumer lo gestirà dal suo lato.

Un evento è invece una notifica leggera di una condizione o di un cambiamento di stato. Il publisher dell'evento non ha alcuna aspettativa su come l'evento verrà gestito e il consumer dell'evento decide cosa fare con la notifica.

Azure Event Hub è concepito per gestire e processare grandi volumi di dati di telemetria e flussi di eventi in tempo reale ed è ottimizzato per la raccolta e l'elaborazione continua di dati provenienti da una vasta gamma di dispositivi e applicazioni, garantendo un'elevata velocità di ingestione e scalabilità orizzontale.

L'obiettivo principale di Event Hub è gestire efficientemente grandi quantità di dati piuttosto che garantire l'elaborazione esatta e ordinata di ciascun evento e le sue funzionalità includono la capacità di acquisire milioni di eventi al secondo e inviarli a piattaforme di analisi o archiviazione per ulteriori elaborazioni.

Service Bus è invece progettato per scenari di integrazione complessi e comunicazioni tra applicazioni in contesti aziendali e offre funzionalità di messaggistica avanzate come il supporto per le code, argomenti e sottoscrizioni che lo rendono ideale per applicazioni che necessitano di un elevato grado di affidabilità, ordinamento preciso dei messaggi e gestione accurata delle transazioni.

La scelta tra Azure Service Bus e Azure Event Hub dipende dal tipo di scenario e dalle esigenze specifiche dell'applicazione. Azure Service Bus è più adatto per scenari che richiedono un alto livello di affidabilità e controllo sui messaggi, come le comunicazioni inter-applicazione in ambienti aziendali. Azure Event Hub, invece, è la scelta preferita per scenari che richiedono la raccolta e l'elaborazione di grandi volumi di dati in tempo reale.

Panoramica di Azure Event Hub

Azure Service Bus vs. Azure Queue

Azure Storage Queue è un servizio per memorizzare grandi quantità di messaggi. Lo si può immaginare come una specie di ufficio postale: si inviano messaggi alla coda e chiunque sia il destinatario può ritirarli quando è pronto. Questo consente un accodamento di messaggi asincrono che funziona trattenendo i messaggi che devono essere registrati da un'applicazione.

Service Bus, rispetto a Azure Queue, è un servizio molto più complesso che opera come un broker tra le applicazioni, consentendo loro di scambiare messaggi in modo disaccoppiato per migliorare la scalabilità e la resilienza.

Storage Queue, essendo il più semplice dei due servizi, tende a eccellere in scenari in cui è necessario un throughput elevato. È progettato per gestire un grande volume di messaggi, rendendolo adatto per applicazioni che necessitano di elaborare migliaia di messaggi al secondo.

Azure Service Bus è invece progettato per scenari più complessi che richiedono funzionalità avanzate. Sebbene potrebbe non offrire le stesse prestazioni grezze di Azure Storage Queue in termini di numero di messaggi, compensa con le sue capacità estese, rendendolo più adatto a scenari di messaggistica di livello enterprise.

Entrambi i servizi sono altamente scalabili, ma in modi diversi. La scalabilità di Storage Queue è principalmente orizzontale, il che significa che può gestire un alto numero di messaggi mentre Service Bus offre una maggiore scalabilità verticale ed è progettato per gestire una grande varietà di tipi di messaggi, inclusi messaggi più complessi e più grandi.

Nel caso si avesse bisogno di un servizio di messaggistica semplice e ad alto throughput, Azure Storage Queue potrebbe essere la scelta giusta. Tuttavia, se si necessita di funzionalità più avanzate e si deve gestire un livello di complessità maggiore, Azure Service Bus potrebbe essere una scelta migliore.

Azure Service Bus Pricing: piani di prezzo e costi

Il pricing di Azure Service Bus è strutturato per offrire flessibilità in base alle esigenze di utilizzo e alle caratteristiche richieste. Esistono diversi piani di prezzo, ciascuno con specifiche funzionalità e costi.

Il piano Basic è il primo e offre un basso costo di base e include le funzionalità essenziali di code, ma senza supporto per argomenti e sottoscrizioni, né per funzionalità avanzate come le sessioni o le transazioni. Questo piano è ideale per scenari di messaggistica semplice e a basso volume ma è un’opzione spoglia che non permette di sfruttare appieno il potenziale di Service Bus.

Il piano Standard, dal costo un po’ più alto, supporta code, argomenti, sottoscrizioni, transazioni e sessioni, con un limite di 1.000 connessioni concorrenti per unità di messaggistica. Questo piano è adatto per applicazioni che necessitano di funzionalità avanzate e gestiscono volumi di messaggi moderati ed è il vero “piano base” del servizio, in quanto permette di sfruttarne le funzionalità avanzate seppur con delle limitazioni. Ideale per piccole e medie imprese che vogliono trarre il massimo dal servizio con un occhio al portafogli.

Il piano Premium, il più costoso dei tre, include tutte le funzionalità del piano Standard con l'aggiunta di isolamento delle risorse per migliorare le prestazioni, latenza più bassa, throughput elevato e maggiore scalabilità. Non ci sono limiti di quota sulle dimensioni dei messaggi e delle code, rendendolo ideale per applicazioni mission-critical e scenari ad alto volume di messaggi che richiedono elevate prestazioni e bassa latenza. È il piano perfetto per aziende di grandi dimensioni.

I costi di Azure Service Bus sono determinati da diverse componenti. Le operazioni di messaggistica, che includono l'invio, la ricezione e la cancellazione di messaggi, vengono addebitate per milione di operazioni, con tariffe diverse a seconda del piano scelto. Il trasferimento di dati in entrata è gratuito, mentre il trasferimento di dati in uscita può essere addebitato in base alla quantità di dati trasferiti oltre le soglie gratuite. Inoltre, ci possono essere addebiti aggiuntivi per il numero di connessioni concorrenti che superano i limiti inclusi nel piano scelto.

Lo spazio di archiviazione utilizzato dai messaggi nella coda o negli argomenti è anch'esso soggetto a costi, basati sulla quantità di spazio di archiviazione utilizzato. I messaggi possono essere conservati fino a un determinato limite temporale (Time-to-Live), e potrebbero esserci costi aggiuntivi se si utilizzano configurazioni speciali.

Per maggiori dettagli sui prezzi e calcolare le stime per l’utilizzo del servizio vi invitiamo a consultare la pagina principale di Azure, dove con il comodo strumento di calcolo messo a disposizione da Microsoft potrete farvi un’idea più precisa dei costi basata sull’utilizzo previsto.

Conclusioni

Azure si è affermato nel corso degli anni come una delle soluzioni di cloud computing più apprezzate e utilizzate nell’ambito delle infrastrutture digitali aziendali grazie alla mole, alla varietà e alla qualità e affidabilità dei servizi che offre.

In particolare, per quanto riguarda le ultime due, Azure Service Bus non è un’eccezione all’interno del panorama dei servizi offerti dalla piattaforma di cloud computing di Microsoft. Con le sue funzionalità scalabili e la sua implementazione rapida e semplice, il servizio di messaggistica rappresenta una scelta solida per le organizzazioni che cercano di migliorare la loro architettura di comunicazione.

Developer da tutto il mondo lavorano ogni giorno con Microsoft Azure per semplificare e accelerare il processo di creazione e implementazione dei loro software e Azure Service Bus mira a risolvere tutti quei problemi complessi che questi sviluppatori devono affrontare regolarmente nello sviluppo di soluzioni di messaggistica cloud di qualità e affidabili da utilizzare all’interno delle loro applicazioni.

Perché non provarlo e lasciare che il servizio parli da sé?

FAQ su Azure Service Bus

Cos'è Azure Service Bus?

Azure Service Bus è un broker di messaggi aziendale completamente gestito che consente una messaggistica cloud affidabile tra applicazioni e servizi, anche quando sono offline. Garantisce una comunicazione e uno scambio di dati senza interruzioni tra i diversi componenti di un sistema distribuito.

Come aiuta Azure Service Bus a disaccoppiare le applicazioni?

Azure Service Bus disaccoppia le applicazioni consentendo loro di comunicare tramite messaggi anziché connessioni dirette. Questo riduce le dipendenze tra le diverse parti di un sistema, facilitando la scalabilità, l'aggiornamento e la gestione indipendente delle applicazioni.

Quali tipi di pattern di messaggistica sono supportati da Azure Service Bus?

Azure Service Bus supporta diversi pattern di messaggistica, tra cui la comunicazione punto-a-punto con code, la messaggistica publish/subscribe con argomenti e sottoscrizioni, e le sessioni di messaggi per l'elaborazione ordinata.

Come garantisce Azure Service Bus la consegna dei messaggi?

Azure Service Bus garantisce la consegna dei messaggi attraverso funzionalità come la durabilità dei messaggi, i tentativi di reinvio, il dead-lettering e il rilevamento dei duplicati. Questi meccanismi assicurano che i messaggi vengano consegnati in modo affidabile anche in caso di problemi di rete o interruzioni del servizio.

Cosa sono le code in Azure Service Bus?

In Azure Service Bus, le code vengono utilizzate per la comunicazione punto-a-punto in cui ogni messaggio viene ricevuto ed elaborato da un singolo consumatore. Questo pattern è ideale per il bilanciamento del carico e l'elaborazione asincrona.

Cosa sono gli argomenti e le sottoscrizioni in Azure Service Bus?

Gli argomenti e le sottoscrizioni in Azure Service Bus abilitano la messaggistica publish/subscribe. Gli argomenti consentono a più sottoscrittori di ricevere una copia di ogni messaggio, permettendo la comunicazione con più ricevitori. Le sottoscrizioni possono essere filtrate per ricevere solo messaggi specifici.

Come gestisce Azure Service Bus l'ordinamento dei messaggi?

Azure Service Bus gestisce l'ordinamento dei messaggi utilizzando le sessioni di messaggi. Raggruppando i messaggi correlati in una sessione, il servizio garantisce che vengano elaborati nell'ordine in cui sono stati inviati, mantenendo la coerenza nell'elaborazione.

Qual è il ruolo del dead-lettering in Azure Service Bus?

Il dead-lettering in Azure Service Bus è un meccanismo per gestire i messaggi che non possono essere consegnati o elaborati. I messaggi vengono spostati in una coda di dead-letter quando superano i tentativi di reinvio, consentendo un'ispezione e una risoluzione successive.

Come può Azure Service Bus essere integrato con altri servizi Azure?

Azure Service Bus può essere integrato con altri servizi Azure come Azure Functions, Logic Apps ed Event Grid per costruire architetture robuste, scalabili e basate su eventi. Questa integrazione migliora le capacità delle applicazioni basate su cloud.

Quali funzionalità di sicurezza sono fornite da Azure Service Bus?

Azure Service Bus fornisce funzionalità di sicurezza come le Shared Access Signatures (SAS), l'autenticazione tramite Azure Active Directory (AAD) e il controllo degli accessi basato sui ruoli (RBAC) per garantire che solo utenti e servizi autorizzati possano accedere alle risorse di messaggistica.

Come garantisce Azure Service Bus la scalabilità?

Azure Service Bus garantisce la scalabilità consentendo la scalabilità automatica delle risorse di messaggistica in base alla domanda. Supporta un gran numero di code, argomenti e sottoscrizioni, oltre a un'elevata velocità di trasmissione per gestire carichi variabili in modo efficiente.

Qual è la dimensione massima dei messaggi supportata da Azure Service Bus?

Azure Service Bus supporta una dimensione massima dei messaggi di 256 KB per i livelli standard e fino a 1 MB per i livelli premium. I messaggi più grandi di questi limiti possono essere archiviati in Azure Blob Storage, con solo riferimenti inviati tramite Service Bus.

Come supporta Azure Service Bus l'alta disponibilità?

Azure Service Bus supporta l'alta disponibilità tramite la ridondanza geografica e le capacità di failover automatico. Garantisce che i messaggi non vadano persi e che il servizio rimanga disponibile anche in caso di guasti al data center.

Entra in contatto con il team

Modern Apps

Il team Modern Apps è specializzato nello sviluppo e nell'integrazione all'interno dell'intero ecosistema Microsoft 365. Progettiamo applicazioni native per le piattaforme Microsoft ed Azure e implementiamo processi aziendali che si integrano e massimizzano l'investimento aziendale effettuato con Microsoft 365.