<p>I have worked on Kubernetes and currently reading about Service Fabric, I know Service Fabric provides microservices framework models like stateful, stateless and actor but other than that it also provides <code>GuestExecutables</code> or <code>Containers</code> as well which is what Kubernetes also does manage/orchestrate containers. Can anyone explain a detailed difference between the two? </p>

<p>Caveat: as noted by <a href="https://stackoverflow.com/users/163341/joniba">joniba</a> in the comments, the original answer (see below) presents Fabric and Kubernetes are somehow similar, with the differences being nuanced.</p>
<p>That contasts with <a href="https://twitter.com/benmorrisuk/" rel="nofollow noreferrer">Ben Morris</a>'s take, which asked in Feb. 2019: &quot;<a href="https://www.ben-morris.com/azure-service-fabric-kubernetes/" rel="nofollow noreferrer">Now that Kubernetes is on Azure, what is Service Fabric for?</a>&quot;:</p>
<blockquote>
<p>One of the sticking points of Service Fabric has always been the difficulty involved in managing a cluster with patchy documentation and a tendency towards unhelpful error messages.<br />
Deploying a cluster with Azure Service Fabric spares you some of the operational pain around node management, but it doesn't change the experience of building applications using the underlying SDKs.</p>
</blockquote>
<p>For the &quot;nuances&quot; differences, read on (original answer):</p>
<hr />
<p>Original answer:</p>
<p>You can see in this project <a href="https://github.com/paolosalvatori/service-fabric-acs-kubernetes-multi-container-app" rel="nofollow noreferrer"><code>paolosalvatori/service-fabric-acs-kubernetes-multi-container-app</code></a>the same containers implemented both in Service Fabric, and in Kubernetes.</p>
<p>Their &quot;service&quot; (for external ingress access) is different, with Kubernetes being a bit more complete and diverse: see <a href="https://github.com/paolosalvatori/service-fabric-acs-kubernetes-multi-container-app#services" rel="nofollow noreferrer">Services</a>.</p>
<p>The reality is: there are &quot;two slightly different offering&quot; because of <strong>market pressure</strong>.<br />
The <a href="https://en.wikipedia.org/wiki/Microsoft_Azure" rel="nofollow noreferrer">Microsoft Azure platform</a>, initially released in 2010, has implemented its own Microsoft Azure Fabric Controller, in order to ensure the services and environment do not fail if one or more of the servers fails <em>within the Microsoft data center</em>, and which also provides the management of the user's Web application such as memory allocation and load balancing.</p>
<p>But in order to attract other clients on their own Microsoft Data Center, they had to adapt to <strong><a href="https://en.wikipedia.org/wiki/Kubernetes" rel="nofollow noreferrer">Kubernetes</a></strong>, released initially in 2014, which is now (2018) either adopted or closely considered by... pretty much everybody (as <a href="https://www.sdxcentral.com/articles/news/how-kubernetes-conquered-2017-and-is-positioned-for-2018/2017/12/" rel="nofollow noreferrer">reported in late December</a>)<br />
(That does not mean one is &quot;better&quot; than the other,<br />
only that the &quot;other&quot; is more &quot;visible&quot; than the first ;) )</p>
<p>So it is less about &quot;a detailed difference between the two&quot;, and more about the ability to integrate Kubernetes-based system on Microsoft Data Centers.</p>
<p>This is in line (source: <a href="http://www.zdnet.com/article/kubernetes-will-rule-the-hyperscale-data-center-in-2018/" rel="nofollow noreferrer">detailed here</a>) with Microsoft continued its unprecedented shift toward an open (read: non-proprietary) staging platform for Azure (<a href="https://deis.com/blog/2017/deis-to-join-microsoft/" rel="nofollow noreferrer">with Deis</a>).<br />
And <a href="http://www.zdnet.com/article/kubernetes-orchestrator-now-available-on-microsofts-azure-container-service/" rel="nofollow noreferrer">Kubernetes orchestrator is available on Microsoft's Azure Container Service since February 2017</a>.</p>
<hr />
<p>You can see other differences in their architecture of a deployed application:</p>
<p>Service Fabric:</p>
<p><a href="https://i.stack.imgur.com/0IKfQ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/0IKfQ.png" alt="https://github.com/paolosalvatori/service-fabric-acs-kubernetes-multi-container-app/raw/master/Images/ServiceFabricArchitecture.png" /></a></p>
<p>Vs. Kubernetes:</p>
<p><a href="https://i.stack.imgur.com/eqvFr.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/eqvFr.png" alt="https://github.com/paolosalvatori/service-fabric-acs-kubernetes-multi-container-app/raw/master/Images/KubernetesArchitecture.png" /></a></p>
<hr />
<p><a href="https://stackoverflow.com/users/5157351/thieme">thieme</a> mentions <a href="https://stackoverflow.com/questions/48415057/difference-between-kubernetes-and-service-fabric/48415605?noredirect=1#comment90812372_48415605">in the comments</a> the article &quot;<strong><a href="https://blogs.msdn.microsoft.com/azuredev/2018/08/15/service-fabric-and-kubernetes-comparison-part-1-distributed-systems-architecture/" rel="nofollow noreferrer">Service Fabric and Kubernetes comparison, part 1 – Distributed Systems Architecture</a></strong>&quot;, from <a href="https://github.com/mkosieradzk" rel="nofollow noreferrer">Marcin Kosieradzki</a>.</p>
