Related words for the Service Fabric in Microservice Architecture:
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 =>
– 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 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.
- 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)