Last week I felt so nostalgic about working with Mesos because I do not have more projects which work with this technology and people are only demanding Kubernetes.

Mesos is a project which was born in Berkeley, now under the Apache umbrella, and whose target is the management of computer clusters. It will help us to create distributed systems with the feeling that we are only working with a really big machine. Mesos gather the resources of all the machines that join the cluster and take care of deploying the application in those places with enough resources.

Mesos is so powerful and according to some studies, it can scale to huge number of nodes much better than Kubernetes. But we don’t need to compare Mesos and Kubernetes, because according to Mesosphere guys, they can work together (one on top of another).

I have been working with Mesos projects, and its orchestrator Marathon, for 3 years, and the results were really good, but the movement of the market is towards Kubernetes and we have to stay where the market says.

Therefore, I wished to release an useful tool for those guys who want to play with Mesos or to try your systems locally (if you can). The project will launch 3 virtual machines which will be the Mesos cluster.

Dependencies

Clone the repository

$ git clone git@github.com:mendrugory/mesos-vagrant.git
$ cd mesos-vagrant

Start up the virtual machines

$ vagrant up

Configure the virtual machines

$ ansible-playbook mesos.yml

Now you can check whatever of the mesos servers (i.e. 192.168.33.11:5050):

Mesos Dashboard

And Marathon servers (i.e. 192.168.33.11:8080):

Marathon Dashboard

I also installed Docker, therefore we could try to launch 3 replicas of Nginx in our Mesos Cluster:

Nginx Marathon General

Nginx Marathon General

And after a while we will see:

Nginx Marathon General

Nginx Marathon General

Nginx Marathon General

You can check the repo here.