Labels

Saturday, April 13, 2019

Service Fabric vs Azure Container Service

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:
  • 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.
2 cents.. Containers, in essence, are another form of virtualization. They are much lighter than VMs because they do not contain the OS itself.

Hope this helps..

Arun  

No comments:

Post a Comment