Understanding Azure Service Fabric

Microservices architecture portrays efficient mechanisms of solving modern enterprise problems. However, this simplification comes at a cost. Manually managing hyperscale deployments of Microservices is nearly impossible. Automating Microservices lifecycle management becomes an inevitable requirement to achieve enterprise-grade environment stability. This is where the role of Azure Service Fabric becomes significant. To start with, let's try to understand what Service Fabric is.

Mark Fussell, a senior program manager in the Microsoft Azure Service Fabric team, defines Service Fabric as the following:

Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable Microservices.

Let's dig deeper into this definition. The definition categorizes Service Fabric as a platform. A platform, in theory, is a software component capable of hosting other software applications which are built to align with the constraints imposed by the platform and can use the features exposed by the platform for its execution. This is exactly what Service Fabric is for the Microservices services it hosts. Service Fabric is a platform which can host services and offers runtime features to support their execution.

The term distributed in the preceding definition highlights the capability of Service Fabric to host decoupled services. As a hosting platform, Service Fabric provides features to catalog, address, and access these services from other services hosted within the platform as well as from external applications.

The process involved in end-to-end delivery of a service can be categorized into different phases according to the activities performed during each phase. These phases are design, development, testing, deployment, upgrading, maintenance, and removal. The task of managing all these phases involved in the delivery of a service is commonly known as application lifecycle management. Service Fabric provides first-class support for end-to-end application lifecycle management of applications deployed on cloud as well as for the ones running on-premises data centers.

The last and most important part of the definition emphasizes the capability of Service Fabric to host Microservices. Service Fabric offers capabilities for building and managing scalable and reliable applications composed of distributed, stateless (which do not maintain a session between requests) and stateful (which maintain a session between requests), Microservices running at very high density on a shared pool of machines. Service Fabric hosts Microservices inside containers deployed and activated across the Service Fabric cluster. By using a containerized execution environment for Microservices, Service Fabric is able to provide an increase in the density of deployment and improved portability across heterogeneous environments.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset