Azure Service Fabric

Anurag | October 23rd, 2017 | Azure, Updates

Azure Service Fabric is a distributed system platform that focuses on building the application and setting up business logic. Through this user can easily package, deploy and maintain scalable & reliable micro-services of the office 365.
Many users even don’t know that Service Fabric is also a foundational technology that empowers core Azure infrastructure as well as multiple Microsoft services like Skype for Business, Dynamics 365, Azure Event Hubs, Intune, Azure Cosmos DB, Azure Data Factory, Azure SQL Database, and Cortana. But from all this over-potential project management Service there are significant challenges in developing and managing cloud applications. Developers and administrators can nullify all the complex infrastructure problem that focus on demanding workloads that are not scalable, reliable, and manageable.

Service Fabric runs in Azure (on-premises) or on some another cloud provider sites. The user can create clusters Service Fabric in many environments like Azure, Windows Server, AWS etc. Because the development environment in SDK is identical to the production environment and there is no use of emulators in the whole process. In other words, we can say that – what runs on local development cluster is deployed to the same cluster in other environments as well.

How does Service Fabric help?

Azure Service fabric is a multi-functional platform that provides the user with a lot of built-in tools, APIs, mechanisms to solve many of the problems encountered when developing a distributed cloud-based application. User-friendly framework picks and choose which element of Service Fabric platform needed, as they are available and integrated into a single system.

what_is_SF_requirements_and_tools_1

Stateful & Stateless Microservices

The applications enabled through Service Fabric consists of micro-services. Stateful micro-services (like user accounts, databases, devices, shopping carts, and queues) maintains an authoritative state of the request and its response, whereas Stateless micro-services (such as protocol gateways and web proxies) do not maintain a mutable state outside a request/response. These days the Internet-scale application consists of a combination of stateless and stateful microservices. To be more clear and accurate let’s see a diagrammatic explanation.

An Application Built Using Stateless services

1
Technicality of Stateless services

  1. Scale all partitioned storage.
  2. Though it reduce reliability with multiple queues but it reduces read latency with caches which is very helpful in deploying cloud application.
  3. Writes own lock manager for state consistency.
  4. Storage managed separately.

Application built using Stateful services

2
Technicality of Stateful services

  1. Application state lives in the compute tier.
  2. Low Latency of reads and write in development.
  3. Data partitions are excellent with service layers for scale-out.
  4. Middle-tier contains all the operation
  5. External stores after deployment and usage of offline analytics.

Now when Stateful & Stateless Micro services both are adept in their own zones then Why we need to have stateful microservices along with stateless?

The reason is:
You can build high-throughput, low-latency, failure-tolerant online transaction processing (OLTP) services by keeping code and data close on the same machine through both. The user can simplify application design. Using Stateful microservices, the user can remove the need for additional queues and caches increasing the latency requirements & Stateful services naturally makes the high-availability and low-latency of cloud storage, which reduces the number of moving parts to manage in your application.
Some examples of application created through these techniques are Internet of Things (IoT) systems, credit card processing, interactive storefronts, trading systems and fraud catching systems of FBI and personal record management.

Azure Key Vault for Service fabric

Secure cluster prevents unauthorized access to the management operation. A security certificate is required to secure cluster, prevent unauthorized access. When the developer creates a secure Service Fabric cluster, the key vault information is also managed, which simply means that the key vault values must be created in advance to secure the cluster.

Steps which the user must complete:

  • Create a Resource Group
  • Create Key Vault
  • Add Certificates to Key Vault

Once these steps are complete you will need the following details, which you can obtain from your Key Vault, when you go to set up a Service fabric Cluster via the Azure Portal.The diagram illustrated below shows the relationship between Key Vault, a Service Fabric cluster, and the Azure resource provider.

cluster-security-cert-installation

Residue

Moreover, it is recommended to invest-in your Azure learning experience beyond all the limits. Azure allows to user to access multiple functionalities procuring the account that will help to develop and deploy applications on web.