Azure Service Fabric is a Platform as a Service (PaaS) offering designed to facilitate the development, deployment and management of highly scalable and customizable applications for the Microsoft Azure cloud platform.
Fabric, in this context, is a synonym for framework. Azure CTO Mark Russinovich describes Service Fabric as a layer that understands “the binding between microservices and the underlying infrastructure that they run on.” Apps created in the Service Fabric environment are composed of separate microservices that communicate with each other through service APIs (application-programming interfaces).
The modular nature of microservices makes it possible to scale individual components of an application separately according to requirements, frees developers from the need to deal with infrastructure problems and simplifies the process of rolling out changes. The microservices approach contrasts with the traditional monolithic architecture, in which elements of a program are interwoven and interdependent, requiring that the whole program be addressed if any element is to be changed.
Most web services and many apps are actually composed of multiple microservices, which include things like protocol gateways, user profiles, web proxies, databases, shopping carts, caches and inventory processing. Microservices may be stateful or stateless. A stateless web proxy, for example, does not maintain information about a particular transaction beyond a request and the response to that request; a stateful proxy maintains information about all transactions. Most web services involve a combination of stateful and stateless microservices; Service Fabric supports both. Each microservice is given a uniquely identifying name; microservices run at very high densities on shared pools of machines known as Service Fabric clusters.
Azure’s core infrastructure is based on Service Fabric, and the platform was running in development at Microsoft for five years prior to its release. Service Fabric powers many Microsoft products including Azure SQL Database, Azure DocumentDB, Azure IoT, Cortana, Power BI, Microsoft Intune, Event Hubs and Skype for Business.
Service Fabric for Windows Server, Linux and Java APIs preview versions are available for deployments on premises or in other cloud environments, including Amazon Web Services (AWS), OpenStack and VMware.