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 Function | Kubernetes Service | Azure 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:
Web API – has no state (Stateless Service) – Must scale | Microservice – 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 App | Reliable 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. |
References
- My Flash cards for learning Azure Service Fabric
- ZEISS Group focuses on Azure Service Fabric for key integration platform
- Understanding the Programming Models of Azure Service Fabric (Training)