Service Fabric Mesh (don’t confuse it with Service Fabric, for Service Fabric comparison, take a look here) is a new invention from Microsoft that aims at providing similar experience to managed Kuberntes clusters by providing fully managed containter orchestration solution without the need to manage the underlying Virtual Machines. This puts the technology in a direct competition with managed Kubernetes solutions, such as Rancher, Google Kubernetes Engine, or RedHat OpenShift.
DISCLAIMER: GKE is not managed Kubernetes solution as per definition, but its stability has been battle proven, see Kelsey Hightower’s Twitter post.
So, without further delay, let’s start.
Service Fabric Mesh runs only on Microsoft Azure
If you want your services to be cloud-agnostic, with Service Fabric Mesh you can only dream about it :) The only cloud that offers a Service Fabric Mesh is Microsoft Azure. Neither Google Cloud or AWS offers Service Fabric Mesh. They also do not offer Service Fabric itself and I don’t think it will ever be. This is Microsoft technology created strictly to be used on Azure.
Service Fabric Mesh is in preview
Service Fabric Mesh is in preview. This means it’s still very early to say anything (good or bad) about the platform itself. However, this certainly means that Kubernetes, that already has some years on its shoulders, is much more mature platform. It will take a few years for a new technology like Service Fabric Mesh to be as stable as Kubernetes.
Kubernetes is Open Source, Service Fabric Mesh is not
Kubernetes is an open source project with literraly thousands of contributors. Service Fabric Mesh is proprietary software made by Microsoft to be launched in Microsoft’s data centers. The Service Fabric that runs on top of the Mesh, is open source. However, the Mesh itself has not been open sourced just yet. If you have an issue or a question, you need to rely on Microsoft’s support and ability to help you, because you won’t be able to get into the code by yourself.
Service Fabric Mesh is not open source. There is almost no community around the technology. There is also no known plugin system for 3rd party apps to be deployed onto the platform. Kubernetes has a lot of support from both the community and 3rd party vendors. The amount of Kubernetes “operators”, which are special applications that manage complex software on top of Kubernetes is rising with every day. Neither Service Fabric nor Service Fabric Mesh does not have that kind of support in terms of deployment for 3rd party apps.
For me the conclusion today is clear - everything says Kubernetes is safer, more stable and preferred option to deploy your containers. Service Fabric Mesh is very young technology and will take years to reach the stability and reliability of Kubernetes. I am also not sure what is the competitive advantage of the Service Fabric Mesh at this point. It looks like the goal is to copy the features that other container orchestrators already have. Perhaps the platform will be more tailored for Microsoft stack deployments, such as .NET Framework applications. Only time will tell.