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  

Self Hosting Vs Container


Let' understand few basic concepts behind Hosted & Self-Hosted.

What is a Host?
In very simple words - "a host is where the site lives".
Special computers called servers (rents space on computers)  are owned by the hosting company and they are used to host (store) the website.

What Is A Hosted Platform/Hosting Company? (Popular ones - Wix, Blogger, SquareSpace)
Hosted platforms are an all-in-one buy (Build & Host Website). They provide propriety software to build your website and the computer storage space where that site will live. Hosted company handles all the software updates for you, and this can contribute to a low maintenance burden.

Drawback here is the inherent restrictions on customization and functionality.Also if at any point you are unhappy with the hosting company, you have to abandon your site and build another site from scratch elsewhere. Also, if the hosting company goes out of business, your website goes down with them.

What Does It Mean to be Self-Hosted?
A developer builds a self-hosted website using software of their choosing, and then hires a hosting company to store that website. Price ranges from free (NPO) to several hundred dollars for a fully-managed dedicated server.

Self-hosted websites provide the ultimate in flexibility and customization. If you’re unhappy with your hosting company, you can pick it up and move it elsewhere.

Few Hosting Softwares:



Hope this helps!!!

Arun