Search code examples
kubernetesmesosmarathon

Apache Mesos vs Google Kubernetes


What's the difference between Apache's Mesos and Google's Kubernetes

I read the accepted answers but I'm still confused what the differences are.

If Kubernetes is a cluster management then what does Mesos do (I understand what it does from watching bunch of videos but I suppose I'm more confused how those two work together)? From reading both Kubernetes and Marathon are "framework" sitting on top of Mesos?

What is Mesos responsible for and what are Kubernetes/Marathon responsible for and how do they work with each other?

EDIT: I think the better question is When would I want to use Kubernetes on top of Mesos vs just running Mesos alone?


Solution

  • Mesos is another abstraction layer. It simply abstracts underlying hardware so the software that want to run on the top of it could only define required resources without having to know any other information.

    Kubernetes could do similar thing but without abstraction provided by Mesos you can't run other frameworks (e.g., Spark or Cassandra) on same machine without manually dividing it between those frameworks.

    kubernetes marathon spark on the top of mesos