Richard Bucker

Mesos, Marathon and Mesosphere

Posted at — Jan 9, 2015

Everything is turning up Docker these days and as such there are a number of new orchestration and scheduling systems for Docker┬áthat are popping up. Three projects that seem to be connected are Mesos, Marathon and Mesosphere. I’m sure they are interesting projects by in my “Level-A” stack they do not measure up.MesosMess requires the JDK and as such will not install on CoreOS as nicely as one would like. Self installer or not, CoreOS is meant to be immutable and so this is not an idiomatic idea.The getting started documentation gives Ubuntu 12.04 examples and as of this writing Ubuntu is well into the 14.10 cycle with 15.04 just a few months away. They could have updated the doc. (not a good sign)And without first hand knowledge other than reading the architecture documentation it appears that Mesos is something that looks like an analog of Docker in the JVM.There is mention of some Hadoop Clustering and MPI. MPI is part of the cluster compute API framework and never makes it to Docker first class.This link does talk about Docker and Mesos, however, it seems to be a me too.MarathonJust looking at the requirements and I feel justified.Requires the JDKRequires Mesos and so by extension it a bustWhile scala is now a professional and fully realized language it is still built on the JDK and I have yet to hear that they have completed a SDK replacement and therefore still suffers from all the problems of Java.ZooKeeper calls itself a coordination server. (Doozer is a highly-available, completely consistent store for small amounts of extremely important data.; and etcd is an open-source distributed key value store)MesosphereRequires Mesos and Marathon… meaning it also requires the JDKLooks like it will run on CoreOS, however, that seems to conflict with the JDK requirement.It also requires ZooKeeper even though CoreOS includes etcd.Without going off the deepen here… Even if this tool stack is awesome it still a pig. The configuration is deep and has lots of moving parts. Getting to any level of excellence is going to be a serious challenge. This has go to be the worst of all of the similar systems in the same space. And having speed-read through the documentation I cannot find a single killer feature worth investing in and I’ve already had success with many of the others.