Skip to main content

Service Fabric - Microsoft’s Platform for stateless and stateful microservices

Azure service Fabric is one of the Compute Service Offering in Microsoft Azure Cloud. It has underlying infrastructure based on virtual machine scale sets, on which service fabric platform runs in a highly available and reliable manner.

It can be described as Microsoft’s distributed Microservices platform, which supports features like Life Cycle management, independent scaling of services, rolling upgrades of application, always-on availability, supports stateless and stateful services running within cluster of nodes. The great thing about service fabric is that its components can run on any windows or Linux machine.

Azure Service Fabric simplifies building and deploying microservices based applications to provide organisations with scalable and reliable applications whether they run in Azure, other clouds or on-premises environments to ease the operational overhead, ultimately offers convenience to users and developers. It supports many languages including node, java and dotnet and has its own SDK that can be downloaded and used with any IDE such as Visual Studio for developing applications. Azure Service Fabric provides built-in programming models to simplify developing micro services. In addition to supporting traditional micro services, Azure Service Fabric also supports stateful microservices. Service Fabric co-locates compute and data to reduce latency and enhance performance while providing reliability through replication and persistence. Rolling upgrades enables for zero downtime of applications and if the health check fails Service Fabric automatically roll back the application to the previous version.

Service-Fabric-1

There is no competitor for Service Fabric when it comes to orchestrating mission-critical stateful workloads. It guarantees following RTO/RPO, while maintaining high performance and extremely low latency from extensive use of RAM and ephemeral SSDs.

Service-Fabric -2

These timeouts are only the guarantees for the worst-case scenarios. A typical failover in case of node failure takes around 2 seconds – which is mind blowing.

What makes Azure Service Fabric so powerful?

Well! The answer lies in the underlying technology that’s Azure Service Fabric is built upon.

The most interesting and unique feature of Service Fabric underlying technology is the way it maintains the state of the workload i.e state persistence. Service Fabric does not depend on external volumes for state persistence as opposed to Kubernetes. Primary reason, for not using central location of data is to avoid central loss of failure, and unless you are using DBaaS you must host it somewhere and that must be managed as well. The other reason is that local stateful services serve faster than remote data storage. If the database is on the local machine or in process, it allows workloads to achieve sub-millisecond latencies, especially in conjunction with ephemeral SSD or NVME. Service Fabric is designed to run both stateful and stateless workloads, hence it is required to detect dead nodes ASAP. The default lease duration in Service Fabric is 30 seconds, though depending on the types of failure, this can be detected sooner, and most network partitions are detected within 10 to 15 seconds.

Another important thing about Service Fabric is that it is free. There is no charge for the service fabric components themselves. Now if you are running Service Fabric inside Azure Data centre you are being billed for the virtual machine working hours, which you are using. There is no additional charge for the service fabric components.

Service-Fabric-3

There are many services, which are powered by Service Fabric, such as Azure Cosmos DB, Azure SQL DB, Microsoft Intune, Azure IoT Hub, Skype for Business, Dynamics, Power BI and many more.

Why use Service Fabric?

  • Deliver low latency and improved efficiency at massive scale
  • Fast time to market by Focusing on building features that add business value to your application, without the overhead of designing and writing additional code to deal with issues of reliability, scalability, management, or latency in the underlying infrastructure.
  • Simplify microservices development and application lifecycle management
  • Reliably scale and orchestrate containers and microservices
  • Data-aware platform for low-latency, high-throughput workloads with stateful containers or microservices
  • Run anything – your choice of languages and programming models
  • Run anywhere – supports Windows/Linux in Azure, on-premises, or other clouds
  • Scales up to thousands of machines
  • Microservices deployed on Service Fabric can leverage the support of automatic fault tolerance and recovery from failures
  • Deliver fast yet safe upgrades with zero downtime

Consider using Service Fabric for Data gathering, processing, and IoT applications as it can help process data on millions of devices where the data for the device and the computation are collocated. It is also suitable for Gaming and session-based interactive applications as Service Fabric enables you to build stateful applications without having to create a separate store or cache. This is also a best choice for Applications that requires computation on data, high availability and scalable services, Data analytics and workflow processing.

Coforge’s team of Azure experts, strengthened by its partner ecosystem and the experience of 150+ customers, is helping enterprises to traverse the complexity of their cloud journey. Coforge cloud services are aimed at providing an integrated, application, and infrastructure-enabled set of services, which help our customers in accelerating time to market and unlock business revenue.

To Know, more, kindly visit - https://www.coforge.com/services/cloud-and-infrastructure-management-services/cloud-services

Let’s engage