Azure Service Fabric

Related words for the Service Fabric in Microservice Architecture:

  • Dockre
  • DC/OS
  • Mesos
  • Kubernetes

Microservices Development possibilities on Azure Cloud:

  • Azure function
  • Kubernetes Service
  • Service Fabric
Azure FunctionKubernetes ServiceAzure Service Fabric
– They are micro-microservices.
– reactes to an external change & event arrived on service bus. E.g. Blob created, message arrived on a queue or service bus queue.
– They can be called as REST service from another application.
– Azure function & Serverless computing is a great choice for types of applications that response to some events.
– Good alternative for ASF (Azure Service Fabric) and AKS (Azure Kubernetes Service).
– Doesn’t need infrastructure at all.
– Suitable for background tasks with some upfront design.
– Microsoft implementation of open-source container orchestrator based on Docker => Docker Container
– Container is faster => lighter virtual machine
– Run Docker Container on Azure=> to manage environment (Upgrade, scale, versioning, expose network, load balance, and …)
– Docker is a technology to manage and run multiple containers in production.
-Azure supports Kubernetes natively & no installation need.
– Similar to containerization technologies.
– Focuses on Microservices.
– Kubernetes solves all the problem and developer should only develop the services-> it’s not easy to write scalable application, which runs on multiple & distributed clusters.
– Container orchestration =>
Microserrvice Challenges:
Service Communication => service and instances of the services.
Service Discovery => How to talk to another Microservices, when there’s thousands on instances.
Monitoring Application => telemetry and collecting logs, provisioning and upgrading microservices.
Testing locally
Managing and recovering from downtime.
Scaling in & out.
  • For building a full flagged microserviceses solution.
  • It has focus on business objectives and no infrastructure.
  • For easy scalable architecture.

Programming model of Azure Service Fabric:

Reliable Service: They are like windows services or Linux daemon application. It’s like console application.
These services divided to sub types:
– Stateless Services
– Statefull Services -> for co-locate compute and data.
Reliable Actors: It uses the Virtual Actor Design Pattern and built on state-full reliable service framework.
For massive amount of requests.
Guest executable: for existing projects without charging too much.Containers: is like quest executable and still run on the Host OS and is completely isolated piece of deployment.

Advantages of State-full Services:

  • Reducing latency
  • Provide resiliency by replication & persisting data across several different nodes.

Entry point from outside to back-end application is as follows:

– has no state (Stateless Service)
– Must scale
– Independent part of the business logic and is perfect for Actor model.

Advantages of Stateless Services:

  • They are application proxies and gateway
  • They are easy and chipper to scale

Start to work with the Azure Service Fabric:

  • Installing Service Fabric -> is necessary for local development
  • Start Visual Studio with “run as administrator” because of the “Service Fabric Cluster”. Because it needs low-privileged user called “Network Service”. The Network Service has no privileges on local system, therefore we need admin user.

Normal APP vs. Reliable APP

Normal AppReliable App
– An Application
– Easy to write (Established framework)
– Great choice of libraries
– No learning curve
– A reliable service
– Easy to write (established framework)
– Reliable service is like an exe file that can be run without service fabric.
– Great choice of libraries (x64 only)
– None to little learning curve
– Access ASF API for microservice scaling, health reporting, discover other services.
– we can use plugable communication model. (They are Azure Service Fabric Built-in) via HTTPS, TCP, Wensocket, Custome TCP
– Access to reliable storage, stateful service, low latency, high speed, local storage, replicated across machines.


Published by parisamoosavinezhad

- Software Engineer - Software Architect - Software and database specialist - Cloud solution architect

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: