Panoramica di Azure Service FabricOverview of Azure Service Fabric

Azure Service Fabric è una piattaforma di sistemi distribuiti che semplifica la disposizione in pacchetti, la distribuzione e la gestione di microservizi e contenitori scalabili e affidabili.Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices and containers. Service Fabric fa fronte anche alle principali problematiche correlate allo sviluppo e alla gestione di applicazioni cloud native.Service Fabric also addresses the significant challenges in developing and managing cloud native applications. Gli sviluppatori e gli amministratori non devono più occuparsi di risolvere complessi problemi di infrastruttura e possono concentrarsi sull'implementazione di carichi di lavoro cruciali e impegnativi, con la certezza di assicurare scalabilità, affidabilità e gestibilità.Developers and administrators can avoid complex infrastructure problems and focus on implementing mission-critical, demanding workloads that are scalable, reliable, and manageable. Service Fabric rappresenta la piattaforma di prossima generazione per la creazione e la gestione di applicazioni cloud di classe enterprise di primo livello eseguite in contenitori.Service Fabric represents the next-generation platform for building and managing these enterprise-class, tier-1, cloud-scale applications running in containers.

Questo breve video presenta Service Fabric e i microservizi:

This short video introduces Service Fabric and microservices:


Applicazioni costituite da microserviziApplications composed of microservices

Service Fabric consente di creare e gestire applicazioni scalabili e affidabili costituite da microservizi eseguiti a densità elevata in un pool condiviso di computer, denominato cluster.Service Fabric enables you to build and manage scalable and reliable applications composed of microservices that run at high density on a shared pool of machines, which is referred to as a cluster. Offre un runtime sofisticato e leggero per la creazione di microservizi scalabili e distribuiti, con e senza stato, eseguiti in contenitori.It provides a sophisticated, lightweight runtime to build distributed, scalable, stateless, and stateful microservices running in containers. Fornisce inoltre una gamma completa di funzionalità di gestione per il provisioning, la distribuzione, il monitoraggio, l'aggiornamento, l'esecuzione di patch e l'eliminazione di applicazioni distribuite, tra cui servizi di contenitori.It also provides comprehensive application management capabilities to provision, deploy, monitor, upgrade/patch, and delete deployed applications including containerized services.

Service Fabric viene attualmente usato in numerosi servizi Microsoft, tra cui database SQL di Azure, Azure Cosmos DB, Cortana, Microsoft Power BI, Microsoft Intune, Hub eventi di Azure, Hub IoT di Azure, Dynamics 365, Skype for Business e molti servizi di base di Azure.Service Fabric powers many Microsoft services today, including Azure SQL Database, Azure Cosmos DB, Cortana, Microsoft Power BI, Microsoft Intune, Azure Event Hubs, Azure IoT Hub, Dynamics 365, Skype for Business, and many core Azure services.

Service Fabric è stato sviluppato specificamente per la creazione di servizi cloud nativi che inizialmente possono essere di piccole dimensioni, ma che secondo le necessità possono espandersi su vasta scala con centinaia o migliaia di computer.Service Fabric is tailored to create cloud native services that can start small, as needed, and grow to massive scale with hundreds or thousands of machines.

Gli attuali servizi su scala Internet vengono compilati attraverso microservizi.Today's Internet-scale services are built of microservices. costituiti ad esempio da gateway di protocollo, profili utente, carrelli acquisti, elaborazione dell'inventario, code e cache.Examples of microservices include protocol gateways, user profiles, shopping carts, inventory processing, queues, and caches. Service Fabric è una piattaforma di microservizi che assegna a ogni microservizio (o contenitore) un nome univoco, con o senza stato.Service Fabric is a microservices platform that gives every microservice (or container) a unique name that can be either stateless or stateful.

Service Fabric offre funzionalità complete di gestione del ciclo di vita e del runtime per le applicazioni costituite da questi microservizi.Service Fabric provides comprehensive runtime and lifecycle management capabilities to applications that are composed of these microservices. Ospita i microservizi all'interno di contenitori distribuiti e attivati nel cluster di Service Fabric.It hosts microservices inside containers that are deployed and activated across the Service Fabric cluster. Il passaggio dalle macchine virtuali ai contenitori consente un incremento di densità considerevole.A move from virtual machines to containers makes possible an order-of-magnitude increase in density. Analogamente, un altro incremento di densità sostanziale si ottiene passando dai contenitori ai microservizi presenti nei contenitori.Similarly, another order of magnitude in density becomes possible when you move from containers to microservices in these containers. Un singolo cluster di database SQL di Azure, ad esempio, è costituito da centinaia di computer che eseguono decine di migliaia di contenitori in cui vengono ospitati complessivamente centinaia di migliaia di database.For example, a single cluster for Azure SQL Database comprises hundreds of machines running tens of thousands of containers that host a total of hundreds of thousands of databases. Ogni database è un microservizio di Service Fabric con stato.Each database is a Service Fabric stateful microservice.

Per altre informazioni sull'approccio basato su microservizi, leggere Perché usare un approccio basato su microservizi per la compilazione delle applicazioni?For more on the microservices approach, read Why a microservices approach to building applications?

Orchestrazione e distribuzione di contenitoriContainer deployment and orchestration

Service Fabric è un agente di orchestrazione dei contenitori che distribuisce microservizi in un cluster di computer.Service Fabric is Microsoft's container orchestrator deploying microservices across a cluster of machines. I microservizi possono essere distribuiti in molti modi, ad esempio usando i modelli di programmazione di Service Fabric o ASP.NET Core oppure distribuendo un codice a propria scelta.Microservices can be developed in many ways from using the Service Fabric programming models, ASP.NET Core, to deploying any code of your choice. Un aspetto importante è che è possibile combinare sia i servizi in processi che i servizi in contenitori nella stessa applicazione.Importantly, you can mix both services in processes and services in containers in the same application. Se si vuole semplicemente distribuire e gestire i contenitori, Service Fabric è la scelta ideale come agente di orchestrazione dei contenitori.If you just want to deploy and manage containers, Service Fabric is a perfect choice as a container orchestrator.

Qualsiasi sistema operativo, qualsiasi ambiente cloudAny OS, any cloud

Service Fabric può essere eseguito ovunque.Service Fabric runs everywhere. È possibile creare cluster di Service Fabric in molti ambienti, tra cui Azure o in locale, in Windows Server o su Linux,You can create clusters for Service Fabric in many environments, including Azure or on premises, on Windows Server, or on Linux. nonché in altri cloud pubblici.You can even create clusters on other public clouds. L'ambiente di sviluppo nell'SDK, inoltre, è identico all'ambiente di produzione, senza alcun emulatore.In addition, the development environment in the SDK is identical to the production environment, with no emulators involved. In altre parole, i componenti in esecuzione nel cluster di sviluppo locale vengono distribuiti anche nei cluster presenti in altri ambienti.In other words, what runs on your local development cluster deploys to the clusters in other environments.

Piattaforma Service Fabric

Per lo sviluppo in Windows, .NET SDK di Service Fabric è integrato con Visual Studio e PowerShell.For Windows development, the Service Fabric .NET SDK is integrated with Visual Studio and Powershell. Vedere Preparare l'ambiente di sviluppo in Windows.See Prepare your development environment on Windows. Per lo sviluppo in Linux, Java SDK di Service Fabric è integrato con Eclipse e viene usato Yeoman per generare modelli per Java, .NET CORE e applicazioni contenitore.For Linux development, the Service Fabric Java SDK is integrated with Eclipse, and Yeoman is used to generate templates for Java, .NET Core, and container applications. Vedere Preparare l'ambiente di sviluppo in LinuxSee Prepare your development environment on Linux

Per altre informazioni sulla creazione di cluster, vedere gli articoli relativi alla creazione di un cluster in Windows Server o Linux o alla creazione di un cluster in Azure tramite il portale di Azure.For more information on creating clusters, read creating a cluster on Windows Server or Linux or for Azure creating a cluster via the Azure portal.

Microservizi con e senza stato per Service FabricStateless and stateful microservices for Service Fabric

Service Fabric consente di compilare applicazioni costituite da microservizi o contenitori.Service Fabric enables you to build applications that consist of microservices or containers. I microservizi senza stato, come i gateway di protocollo, i proxy Web e così via, non mantengono uno stato variabile al di fuori di una richiesta e della relativa risposta fornita dal servizio.Stateless microservices (such as protocol gateways and web proxies) do not maintain a mutable state outside a request and its response from the service. I ruoli di lavoro di Servizi cloud di Azure sono un esempio di servizio senza stato.Azure Cloud Services worker roles are an example of a stateless service. I microservizi con stato, come gli account utente, i database, i dispositivi, i carrelli acquisti e le code, mantengono invece uno stato variabile e autorevole anche all'esterno della richiesta e della relativa risposta.Stateful microservices (such as user accounts, databases, devices, shopping carts, and queues) maintain a mutable, authoritative state beyond the request and its response. Le attuali applicazioni su scala Internet sono costituite da una combinazione di microservizi con e senza stato.Today's Internet-scale applications consist of a combination of stateless and stateful microservices.

Un fattore essenziale per la differenziazione di Service Fabric è la creazione di servizi con stato, mediante i modelli di programmazione incorporati o mediante i servizi con stato in contenitori.A key differentiation with Service Fabric is its strong focus on building stateful services, either with the built-in programming models or with containerized stateful services. L'articolo Scenari di applicazione di Service Fabric descrive gli scenari in cui vengono usati i servizi con stato.The application scenarios describe the scenarios where stateful services are used.

Gestione del ciclo di vita delle applicazioniApplication lifecycle management

Service Fabric offre supporto per la gestione dell'intero ciclo di vita dell'applicazione e per l'integrazione continua e distribuzione continua di applicazioni cloud, inclusi i contenitori.Service Fabric provides support for the full application lifecycle and CI/CD of cloud applications including containers. Questo ciclo di vita include lo sviluppo attraverso la distribuzione , la gestione quotidiana e la manutenzione fino all'eventuale ritiro.This lifecycle includes development through deployment, daily management, and maintenance to eventual decommissioning.

Le funzionalità di gestione del ciclo di vita delle applicazioni di Service Fabric consentono agli amministratori delle applicazioni e agli operatori IT di usare semplici flussi di lavoro con interazione limitata per il provisioning, la distribuzione, l'applicazione di patch e il monitoraggio delle applicazioni.Service Fabric application lifecycle management capabilities enable application administrators and IT operators to use simple, low-touch workflows to provision, deploy, patch, and monitor applications. Questi flussi di lavoro predefiniti riducono in modo significativo il carico degli operatori IT per mantenere le applicazioni continuamente disponibili.These built-in workflows greatly reduce the burden on IT operators to keep applications continuously available.

La maggior parte delle applicazioni è costituita da una combinazione di microservizi con e senza stato, da contenitori e da altri runtime o file eseguibili distribuiti insieme.Most applications consist of a combination of stateless and stateful microservices, containers, and other executables that are deployed together. Grazie all'uso di tipi sicuri nelle applicazioni, Service Fabric consente la distribuzione di più istanze di un'applicazione.By having strong types on the applications, Service Fabric enables the deployment of multiple application instances. Ogni istanza viene gestita e aggiornata in modo indipendente.Each instance is managed and upgraded independently. Aspetto ancora più importante, Service Fabric può distribuire contenitori o file eseguibili di qualsiasi tipo e renderli affidabili.Importantly, Service Fabric can deploy containers or any executables and make them reliable. Service Fabric, ad esempio, può distribuire .NET, ASP.NET Core, Node.js, contenitori Windows, contenitori Linux, macchine virtuali Java, script, Angular o qualsiasi altro elemento costitutivo dell'applicazione.For example, Service Fabric can deploy .NET, ASP.NET Core, node.js, Windows containers, Linux containers, Java virtual machines, scripts, Angular, or literally anything that makes up your application.

Service Fabric è integrato con vari strumenti di integrazione continua e distribuzione continua, ad esempio Visual Studio Team Services, Jenkins e Octopus Deploy, e può essere usato con qualsiasi altro strumento di integrazione continua e distribuzione continua.Service Fabric is integrated with CI/CD tools such as Visual Studio Team Services, Jenkins, and Octopus Deploy and can be used with any other popular CI/CD tool.

Per altre informazioni sulla gestione del ciclo di vita delle applicazioni, vedere l'articolo Ciclo di vita dell'applicazione.For more information about application lifecycle management, read Application lifecycle. Per altre informazioni su come distribuire il codice, vedere Distribuire un eseguibile guest.For more about how to deploy any code, see deploy a guest executable.

Funzionalità principaliKey capabilities

Usando Service Fabric è possibile:By using Service Fabric, you can:

  • Eseguire la distribuzione in Azure o in data center locali che eseguono Windows o Linux senza dover apportare modifiche al codice.Deploy to Azure or to on-premises datacenters that run Windows or Linux with zero code changes. Scrivere una sola volta e quindi eseguire la distribuzione ovunque in qualsiasi cluster di Service Fabric.Write once, and then deploy anywhere to any Service Fabric cluster.
  • Sviluppare applicazioni scalabili costituite da microservizi usando modelli di programmazione di Service Fabric, contenitori o altri tipi di codice.Develop scalable applications that are composed of microservices by using the Service Fabric programming models, containers, or any code.
  • Sviluppare microservizi con o senza stato altamente affidabili.Develop highly reliable stateless and stateful microservices. Semplificare la progettazione dell'applicazione usando microservizi con stato.Simplify the design of your application by using stateful microservices.
  • Usare il nuovo modello di programmazione Reliable Actors per creare oggetti cloud con stato e codice autonomo.Use the novel Reliable Actors programming model to create cloud objects with self contained code and state.
  • Distribuire e orchestrare contenitori, tra cui contenitori Windows e Linux.Deploy and orchestrate containers that include Windows containers and Linux containers. Service Fabric è un agente di orchestrazione dei contenitori con stato e con funzione di riconoscimento dei dati.Service Fabric is a data aware, stateful, container orchestrator.
  • Distribuire applicazioni in pochi secondi e a densità elevata, con centinaia o migliaia di applicazioni o contenitori per ogni computer.Deploy applications in seconds, at high density with hundreds or thousands of applications or containers per machine.
  • Distribuire versioni diverse della stessa applicazione side-by-side e aggiornarle in modo indipendente.Deploy different versions of the same application side by side, and upgrade each application independently.
  • Gestire il ciclo di vita delle applicazioni senza tempi di inattività, inclusa l'esecuzione di aggiornamenti di rilievo e non di rilievo.Manage the lifecycle of your applications without any downtime, including breaking and nonbreaking upgrades.
  • Aumentare o ridurre il numero di nodi in un cluster.Scale out or scale in the number of nodes in a cluster. Quando si modifica il numero di nodi, viene automaticamente modificato anche il numero di applicazioni.As you scale nodes, your applications automatically scale.
  • Monitorare e diagnosticare l'integrità delle applicazioni e impostare i criteri per eseguire riparazioni automatiche.Monitor and diagnose the health of your applications and set policies for performing automatic repairs.
  • Osservare il sistema di bilanciamento delle risorse che coordina la ridistribuzione delle applicazioni all'interno del cluster.Watch the resource balancer orchestrate the redistribution of applications across the cluster. Service Fabric esegue il ripristino dagli errori e ottimizza la distribuzione del carico in base alle risorse disponibili.Service Fabric recovers from failures and optimizes the distribution of load based on available resources.

Passaggi successiviNext steps