Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices. Service Fabric addresses the significant challenges in developing and managing cloud apps. On the other hand, Kubernetes is detailed as “Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops”.
Azure Service Fabric can be classified as a tool in the ”Microservices Tools” category, while Kubernetes is grouped under ”Container Tools”.
Features of Azure Service Fabric
Features of Kubernetes
It supports Windows containers. AKS only supports Linux containers, so you don’t really have a choice if you want to lift-and-shift some legacy .NET applications to containers and the cloud. Now if you’re reading this, it’s important to look at the time of writing of this article, because Windows containers support is also expected on AKS
It’s already a first-class Azure service, meaning you have all the standard tools available to you such as the Azure CLI, Powershell, REST API etc. And the Azure Portal can be used to configure many things in your cluster. Again it should be noted that AKS is aiming to become a similarly complete Azure service in the future.
It has great tooling in Visual Studio 2017. With a few clicks you can set up your Service Fabric container package, complete with configuration files and a deployment script. And you can then deploy it to your cluster right from Visual Studio just as easily.
It’s based on the open source Kubernetes, so you can expect quick fixes to issues and other benefits from community involvement. Also, Kubernetes is built upon over a decade of experience of running production workloads at Google and let’s face it; they need highly available and highly scalable systems
The configuration is a bit more complex because you have to define all components in your cluster such as load balancers and endpoints. In Service Fabric more of it is done for you automatically. However, this also means in AKS you can have a more fine-grained configuration.
More Detailed information for Azure Container Services (AKS) can be found here.
When you compare feature by feature, Service Fabric has a much richer feature set built in and it implements most of the components whereas Kubernetes relies on third-party solutions, but Service Fabric is a way behind when Linux and containers are the main topics. The new version of Service Fabric, Mesh, based entirely on containers and cloud resources, means that things will change a lot for Service Fabric. Most of the features promised by Mesh are already supported on Kubernetes today, the only game changer in this race is the approach adopted for the Infrastructure Resource Management, that will be managed by Azure.