Cluster management and service discovery

consul, deployment, mesos, ruby, ruby-on-rails

Solution

Your question is really a number of questions:

- Mesos is a great solution for cluster management. It is tested in production at high scale at twitter.

- Mesos doesn't provide a service discover mechanism.

- Mesos requests other components in order to provide a full solution. There is no one solution for all environments / topologies. The leading supplements are provided by mesosphere which include marathon (at a minimum).

- Memory requirements will vary based on number of slaves. The starting requirement is 3MB for each the master and the slave. Making it feasible to install on nodes with low resources.

- Consul is a service discovery component and does not replace Mesos. They are complementary. In fact Keen Labs has modified marathon to integrate mesos with consul. See: https://github.com/keenlabs/marathon/commit/290036e34337dcd6483550b7ab7d723bc4378d5f

Problem

I want to introduce on my deploys a service discovery / cluster management solution. As far as I see Mesos is one solution, but I'm worried about how much it consumes in terms of RAM when installing agents of marathon, cronos, mesos, etc; my boxes have at most 512mb of RAM. It is feasible to install Mesos on boxes with low resources? It is Consul a replacement for Mesos?

Original source