Search code examples
ruby-on-railsrubydeploymentmesosconsul

Cluster management and service discovery


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?


Solution

  • Your question is really a number of questions:

    1. Mesos is a great solution for cluster management. It is tested in production at high scale at twitter.
    2. Mesos doesn't provide a service discover mechanism.
    3. 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).
    4. 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.
    5. 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