Scenari di applicazione di Service FabricService Fabric application scenarios

Azure Service Fabric offre una piattaforma flessibile e affidabile che consente di scrivere ed eseguire molti tipi di applicazioni e servizi aziendali.Azure Service Fabric offers a reliable and flexible platform that enables you to write and run many types of business applications and services. Le applicazioni e i microservizi possono essere con o senza stato e implementano il bilanciamento delle risorse tra le macchine virtuali per ottimizzare l'efficienza.These applications and microservices can be stateless or stateful, and they are resource-balanced across virtual machines to maximize efficiency. 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.The unique architecture of Service Fabric enables you to perform near real-time data analysis, in-memory computation, parallel transactions, and event processing in your applications. È possibile aumentare o ridurre facilmente il numero di applicazioni a seconda dei requisiti di risorse.You can easily scale your applications up or down (really in or out), depending on your changing resource requirements.

La piattaforma Service Fabric in Azure è ideale per le categorie di applicazioni e seguenti:The Service Fabric platform in Azure is ideal for the following categories of applications:

  • Servizi a disponibilità elevata: i servizi di Service Fabric garantiscono un failover veloce tramite la creazione di più repliche secondarie del servizio.Highly available services: Service Fabric services provide fast failover by creating multiple secondary service replicas. 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.If a node, process, or individual service goes down due to hardware or other failure, one of the secondary replicas is promoted to a primary replica with minimal loss of service.
  • Servizi scalabili: è possibile partizionare singoli servizi implementando la scalabilità orizzontale dello stato nel cluster.Scalable services: Individual services can be partitioned, allowing for state to be scaled out across the cluster. Inoltre, i singoli servizi possono essere creati e rimossi in tempo reale.In addition, individual services can be created and removed on the fly. I servizi possono essere aumentati facilmente e rapidamente da poche istanze su un numero ridotto di nodi a migliaia di istanze su molti nodi e quindi ridotti nuovamente, a seconda delle risorse necessarie.Services can be quickly and easily scaled out from a few instances on a few nodes to thousands of instances on many nodes, and then scaled in again, depending on your resource needs. È possibile usare Service Fabric per compilare questi servizi e gestire il relativo ciclo di vita completo.You can use Service Fabric to build these services and manage their complete lifecycles.
  • Calcolo su dati non statici: Service Fabric permette di compilare dati, I/O e applicazioni con stato e a elevato utilizzo di calcolo.Computation on nonstatic data: Service Fabric enables you to build data, input/output, and compute intensive stateful applications. Service Fabric consente la collocazione dell'elaborazione (calcolo) e dei dati nelle applicazioni.Service Fabric allows the collocation of processing (computation) and data in applications. In genere, quando l'applicazione richiede l'accesso ai dati è presente una latenza di rete associata alla cache dei dati esterni o al livello della risorsa di archiviazione.Normally, when your application requires access to data, there is network latency associated with an external data cache or storage tier. Con i servizi con stato di Service Fabric la latenza viene eliminata e questo consente operazioni di lettura e scrittura più efficienti.With stateful Service Fabric services, that latency is eliminated, enabling more performant reads and writes. Si supponga, ad esempio, di avere un'applicazione che esegue la selezione delle raccomandazioni quasi in tempo reale per i clienti, con un requisito di tempo di round trip inferiore a 100 millisecondi.Say for example that you have an application that performs near real-time recommendation selections for customers, with a round-trip time requirement of less than 100 milliseconds. Le caratteristiche di latenza e prestazioni di Service Fabric, in cui il calcolo della selezione delle raccomandazioni è collocato con i dati e le regole, offrono all'utente un'esperienza reattiva rispetto al modello di implementazione standard con cui si devono recuperare i dati necessari dall'archivio remoto.The latency and performance characteristics of Service Fabric services (where the computation of recommendation selection is collocated with the data and rules) provides a responsive experience to the user compared with the standard implementation model of having to fetch the necessary data from remote storage.
  • Applicazioni interattive basate sulla sessione: Service Fabric si rivela utile se le applicazioni, ad esempio un gioco online o la messaggistica istantanea, richiedono operazioni di lettura e scrittura con bassa latenza.Session-based interactive applications: Service Fabric is useful if your applications, such as online gaming or instant messaging, require low latency reads and writes. Service Fabric permette di compilare queste applicazioni interattive con stato senza dover creare un archivio o una cache separata, necessaria invece per le app senza stato.Service Fabric enables you to build these interactive, stateful applications without having to create a separate store or cache, as required for stateless apps. Questo aumenta la latenza e può introdurre problemi di coerenza.(This increases latency and potentially introduces consistency issues.).
  • Analisi dei dati e flussi di lavoro: le operazioni di lettura/scrittura rapide di Service Fabric abilitano applicazioni che devono elaborare in modo affidabile eventi o flussi di dati.Data analytics and workflows: The fast reads and writes of Service Fabric enable applications that must reliably process events or streams of data. Service Fabric abilita anche applicazioni che descrivono le pipeline di elaborazione, in cui i risultati devono essere affidabili e passati alla fase di elaborazione successiva senza alcuna perdita.Service Fabric also enables applications that describe processing pipelines, where results must be reliable and passed on to the next processing stage without loss. Sono inclusi sistemi transazionali e finanziari, in cui le garanzie di coerenza e calcolo dei dati sono essenziali.These include transactional and financial systems, where data consistency and computation guarantees are essential.
  • Raccolta dati, elaborazione e IoT: grazie alla possibilità di gestire un'elevata scalabilità e alla bassa latenza dovuta ai servizi con stato, Service Fabric è la soluzione ideale per l'elaborazione di dati in milioni di dispositivi in cui vengono si trovano contemporaneamente i dati relativi al dispositivo e al calcolo.Data gathering, processing and IoT: Since Service Fabric handles large scale and has low latency through its stateful services, it is ideal for data processing on millions of devices where the data for the device and the computation are co-located. Numerosi clienti hanno realizzato sistemi IoT usando Service Fabric, ad esempio BMW, Schneider Electric e Mesh Systems.We have seen several customers who have built IoT systems using Service Fabric including BMW, Schneider Electric and Mesh Systems.

Case study sulla progettazione delle applicazioniApplication design case studies

Nel blog del team di Service Fabric e sul sito delle soluzioni di microservizi sono pubblicati numerosi case study sul modo di usare Service Fabric per progettare le applicazioni.A number of case studies showing how Service Fabric is used to design applications are published on the Service Fabric team blog and the microservices solutions site.

Progettare applicazioni costituite da microservizi con e senza statoDesign applications composed of stateless and stateful microservices

La compilazione di applicazioni con ruoli di lavoro del servizio cloud di Azure è un esempio di servizio senza stato.Building applications with Azure Cloud Service worker roles is an example of a stateless service. Al contrario, i microservizi con stato mantengono lo stato autorevole oltre alla richiesta e alla relativa risposta.In contrast, stateful microservices maintain their authoritative state beyond the request and its response. In questo modo è possibile ottenere disponibilità elevata e coerenza dello stato attraverso semplici API che forniscono garanzie transazionali supportate dalla replica.This provides high availability and consistency of the state through simple APIs that provide transactional guarantees backed by replication. I servizi con stato di Service Fabric portano la disponibilità elevata a tutti i tipi di applicazioni, non solo a database e altri archivi di dati.Service Fabric's stateful services democratize high availability, bringing it to all types of applications, not just databases and other data stores. Si tratta di un progresso naturale.This is a natural progression. Le applicazioni sono già passate dall'uso di database puramente relazionali per la disponibilità elevata a database NoSQL.Applications have already moved from using purely relational databases for high availability to NoSQL databases. 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à.Now the applications themselves can have their "hot" state and data managed within them for additional performance gains without sacrificing reliability, consistency, or availability.

Quando si compilano applicazioni costituite da microservizi, si ha in genere una combinazione di app Web senza stato (ASP.NET, Node.js e così via) che chiamano servizi aziendali di livello intermedio con e senza stato, tutti distribuiti nello stesso cluster di Service Fabric con i comandi di distribuzione di Service Fabric.When building applications consisting of microservices, you typically have a combination of stateless web apps (ASP.NET, Node.js, etc.) calling onto stateless and stateful business middle-tier services, all deployed into the same Service Fabric cluster using the Service Fabric deployment commands. Ognuno di questi servizi è indipendente per quanto riguarda la scalabilità, l'affidabilità e l'uso delle risorse e questo migliora notevolmente la flessibilità dello sviluppo e della gestione del ciclo di vita.Each of these services is independent with regard to scale, reliability, and resource usage, greatly improving agility in development and lifecycle management.

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.Stateful microservices simplify application designs because they remove the need for the additional queues and caches that have traditionally been required to address the availability and latency requirements of purely stateless applications. L'elevata disponibilità e la bassa latenza dei servizi con stato implicano una presenza ridotta di componenti mobili da gestire in un'applicazione nel suo insieme.Since stateful services are naturally highly available and low latency, this means that there are fewer moving parts to manage in your application as a whole. I diagrammi seguenti illustrano le differenze tra la progettazione di un'applicazione senza stato e la progettazione di un'applicazione con stato.The diagrams below illustrate the differences between designing an application that is stateless and one that is stateful. 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.By taking advantage of the Reliable Services and Reliable Actors programming models, stateful services reduce application complexity while achieving high throughput and low latency.

Applicazione creata con servizi senza statoAn application built using stateless services

Applicazione che usa un servizio senza stato

Applicazione creata con servizi con statoAn application built using stateful services

Applicazione che usa un servizio senza stato

Passaggi successiviNext steps