Comparing Service Fabric and Azure Container Service can be like comparing apples and oranges. But, although they’re not the same kind but they do solve many of the same problems.
Some of the common features are:
Service Fabric besides being a 'Framework', it also is a 'Microservice Orchestrator'. It constantly monitors and manages services on the cluster.
On the other hand, Azure Container Service won’t do this for you, but the Microservice Orchestrator that you choose will.
What’s Service Fabric?
It's an 'Orchestration Engine' and a 'Framework' to build Microservices using mostly .NET.
First developed in 2003 (called Microsoft Fabric) with an intent to built a platform to deploy reliable services within Microsoft. E.g. Many Azure services like Azure SQL, Bing, and DocumentDB were all built on top of Service Fabric.
As a framework, Service Fabric lets you build Microservices of different flavors, including:
Imp: Unlike many of the other offerings out there, Service Fabric Doesn’t Require Your Application To Be In Containers. This can be a good or bad thing depending on who you ask.
What’s Azure Container Service (ACS)?
Azure Container Service is a different beast. It is mostly a IaaS offering powered by open-source tools.
As mentioned above ACS is neither an 'Orchestration Engine' nor a 'Framework' to build Microservices.. What ACS provides is the recommended infrastructure for your chosen 'Container Orchestrator'. I.e. Azure sets up the load balancer, vnet, virtual machines, and the orchestration engine of your choice.
The container orchestrator itself will automate the container deployment, auto-scaling, and other features. Today, Microsoft offers 3 different open-source container orchestrators with ACS:
Hope this helps..
Arun
Some of the common features are:
- Self-Healing Services
- Load Balancing & Service Location
- Monitoring
- Rolling Upgrades
- Host Container Images
- Automatic Scaling
Service Fabric besides being a 'Framework', it also is a 'Microservice Orchestrator'. It constantly monitors and manages services on the cluster.
On the other hand, Azure Container Service won’t do this for you, but the Microservice Orchestrator that you choose will.
What’s Service Fabric?
It's an 'Orchestration Engine' and a 'Framework' to build Microservices using mostly .NET.
First developed in 2003 (called Microsoft Fabric) with an intent to built a platform to deploy reliable services within Microsoft. E.g. Many Azure services like Azure SQL, Bing, and DocumentDB were all built on top of Service Fabric.
As a framework, Service Fabric lets you build Microservices of different flavors, including:
- A stateless service
- A stateful service
- A stateless Web API (Self-Hosted)
- ASP.NET Core app
- A guest container
- A guest executable
- An actor stateful service
Imp: Unlike many of the other offerings out there, Service Fabric Doesn’t Require Your Application To Be In Containers. This can be a good or bad thing depending on who you ask.
What’s Azure Container Service (ACS)?
Azure Container Service is a different beast. It is mostly a IaaS offering powered by open-source tools.
As mentioned above ACS is neither an 'Orchestration Engine' nor a 'Framework' to build Microservices.. What ACS provides is the recommended infrastructure for your chosen 'Container Orchestrator'. I.e. Azure sets up the load balancer, vnet, virtual machines, and the orchestration engine of your choice.
The container orchestrator itself will automate the container deployment, auto-scaling, and other features. Today, Microsoft offers 3 different open-source container orchestrators with ACS:
- DC/OS (Linux Containers)
- Docker Swarm (Linux Containers)
- Kubernetes (Linux/Windows Containers) - Google chose to open-source their container orchestrator and is now known as Kubernetes.
Hope this helps..
Arun