Scenari di applicazione di Service Fabric

Azure Service Fabric offre una piattaforma affidabile e flessibile in cui è possibile scrivere ed eseguire molti tipi di applicazioni e servizi aziendali. Queste applicazioni e microservizi possono essere senza stato o con stato e sono bilanciate tra le macchine virtuali per ottimizzare l'efficienza.

La particolare architettura di Service Fabric consente di eseguire operazioni di analisi dei dati e di calcolo in memoria, transazioni parallele ed elaborazione degli eventi quasi in tempo reale nelle applicazioni. È possibile ridimensionare facilmente le applicazioni in base ai requisiti delle risorse mutevoli.

Per indicazioni sulla progettazione per la creazione di applicazioni, vedere Architettura di microservizi in Azure Service Fabric e Procedure consigliate per la progettazione di applicazioni con Service Fabric.

Prendere in considerazione l'uso della piattaforma Service Fabric per i tipi di applicazioni seguenti:

  • Raccolta, elaborazione e IoT dei dati: Service Fabric gestisce la scalabilità su larga scala e presenta bassa latenza tramite i servizi con stato. Può essere utile per elaborare i dati in milioni di dispositivi in cui i dati per il dispositivo e il calcolo sono raggruppati.

    I clienti che hanno creato servizi IoT usando Service Fabric includono PCL Construction, Citrix, ASOS, Oman Data Park,Talker e Dover Fueling Systems.

  • Giochi e applicazioni interattive basate su sessione: Service Fabric è utile se l'applicazione richiede letture e scritture a bassa latenza, ad esempio nei giochi online o nella messaggistica istantanea. Service Fabric consente di creare queste applicazioni interattive con stato senza dover creare un archivio o una cache separati. Per indicazioni sulla progettazione sull'uso di Service Fabric nei servizi di gioco, vedere Soluzioni di gioco di Azure.

    I clienti che hanno creato servizi di gioco includono Next Games. I clienti che hanno creato sessioni interattive includono Honeywell con Hololens.

  • Analisi dei dati ed elaborazione del flusso di lavoro: le applicazioni che devono elaborare in modo affidabile eventi o flussi di dati traggono vantaggio dalle letture e dalle scritture ottimizzate in Service Fabric. Service Fabric supporta anche le pipeline di elaborazione delle applicazioni, in cui i risultati devono essere affidabili e passati alla fase di elaborazione successiva senza perdita di dati. Queste pipeline includono sistemi transazionali e finanziari, in cui la coerenza dei dati e le garanzie di calcolo sono essenziali.

    I clienti che hanno creato servizi di flusso di lavoro aziendali includono Zeiss Group e PCL Construction.

  • Calcolo sui dati: Service Fabric consente di compilare applicazioni con stato che eseguono calcoli di dati intensivi. Service Fabric consente la condivisione dell'elaborazione (calcolo) e dei dati nelle applicazioni.

    In genere, quando l'applicazione richiede l'accesso ai dati, la latenza di rete associata a una cache dei dati esterna o a un livello di archiviazione limita il tempo di calcolo. I servizi di Service Fabric con stato eliminano la latenza, abilitando letture e scritture ottimizzate.

    Si consideri, ad esempio, un'applicazione che esegue selezioni di raccomandazioni quasi in tempo reale per i clienti, con un requisito di tempo di round trip inferiore a 100 millisecondi. Le caratteristiche di latenza e prestazioni dei servizi di Service Fabric offrono un'esperienza reattiva all'utente, rispetto al modello di implementazione standard di dover recuperare i dati necessari dall'archiviazione remota. Il sistema è più reattivo perché il calcolo della selezione delle raccomandazioni è condiviso con i dati e le regole.

    I clienti che hanno creato servizi di calcolo includono ASOS e CCC.

  • Servizi a disponibilità elevata: Service Fabric offre un failover rapido creando più repliche di servizi secondari. In caso di inattività di un nodo, di un processo o di un singolo servizio a causa di un errore hardware o di un'altra anomalia, una delle repliche secondarie viene innalzata di livello a replica primaria con una perdita trascurabile di servizio.

  • Servizi scalabili: è possibile partizionare singoli servizi implementando la scalabilità orizzontale dello stato nel cluster. È anche possibile creare e rimuovere singoli servizi in tempo reale. È possibile aumentare le istanze dei servizi da poche istanze in pochi nodi a migliaia di istanze in molti nodi e quindi ridimensionarle nuovamente in base alle esigenze. È possibile usare Service Fabric per creare questi servizi e gestire i cicli di vita completi.

Case study sulla progettazione delle applicazioni

Case study che illustrano l'uso di Service Fabric per progettare le applicazioni vengono pubblicate nelle storie dei clienti e nei microservizi nei siti di Azure .

Progettazione di applicazioni composte da microservizi senza stato e con stato

La creazione di applicazioni con i ruoli di lavoro di Azure Servizi cloud è un esempio di servizio senza stato. Al contrario, i microservizi con stato mantengono lo stato autorevole oltre alla richiesta e alla relativa risposta. Questa funzionalità offre disponibilità elevata e coerenza dello stato tramite API semplici che forniscono garanzie transazionali supportate dalla replica.

I servizi con stato in Service Fabric portano disponibilità elevata a tutti i tipi di applicazioni, non solo ai database e ad altri archivi dati. Si tratta di un progresso naturale. Le applicazioni sono già passate dall'uso di database puramente relazionali per la disponibilità elevata a database NoSQL. Ora le applicazioni stesse possono avere un proprio stato "attivo" e i dati possono essere gestiti al loro interno per migliorare ancora le prestazioni senza compromettere l'affidabilità, la coerenza o la disponibilità.

Quando si creano applicazioni costituite da microservizi, in genere si dispone di una combinazione di app Web senza stato ,ad esempio ASP.NET e Node.js, che vengono chiamate a servizi di livello intermedio business senza stato e con stato. Le app e i servizi vengono distribuiti tutti nello stesso cluster di Service Fabric tramite i comandi di distribuzione di Service Fabric. Ognuno di questi servizi è indipendente in relazione alla scalabilità, all'affidabilità e all'utilizzo delle risorse. Questa indipendenza migliora l'agilità e la flessibilità nella gestione dello sviluppo e del ciclo di vita.

I microservizi con stato semplificano la progettazione delle applicazioni perché eliminano la necessità di usare code e cache aggiuntive, che invece erano necessarie in passato per soddisfare i requisiti di disponibilità e latenza di applicazioni interamente senza stato. Poiché i servizi con stato hanno disponibilità elevata e bassa latenza, esistono meno dettagli da gestire nell'applicazione.

I diagrammi seguenti illustrano le differenze tra la progettazione di un'applicazione senza stato e quella con stato. Sfruttando i modelli di programmazione Reliable Services e Reliable Actors, i servizi con stato riducono la complessità delle applicazioni e allo stesso tempo garantiscono un'elevata velocità effettiva e una bassa latenza.

Ecco un'applicazione di esempio che usa servizi senza stato: Application that uses stateless services

Ecco un'applicazione di esempio che usa servizi con stato: Application that uses stateful services

Passaggi successivi