When Should I Use Marathon?

// Brian Hicks // Mesos

When you’re assembling your Mesos cluster, you need to figure out what kind of frameworks are appropriate for the workloads you’re going to run. Marathon comes up a lot in discussions and searches, but is it right for you?

You should use Marathon when you have long-running tasks (think web services, not long ETL jobs) that you want to keep alive on the cluster despite service and underlying hardware failure.

Marathon can also run other frameworks (most of which are long-running tasks themselves.) For example, if you wanted to run Chronos (the equivalent of cron for a cluster) you can specify that and Marathon will keep it alive and running.

Marathon has a RESTful API and supports Dockerized workloads, so you don’t need to worry about what language your software is implemented in. If you can ship it around the cluster, Marathon can manage it.

When should I not Use Marathon?

There are four basic situations in which Marathon by itself wouldn’t be a good fit:

All Right!

You can now choose for yourself whether or not you should use Marathon in your Mesos cluster. In fact, here’s a cheat sheet to help remember the things you should be thinking about when deciding:

When should I use Marathon?

Want More Sleep?

Is your deployment keeping you up a night? Is it secure? Reliable? We'll help you keep the lights on with timely tutorials and tips to give you peace of mind that your cluster is running how it's supposed to.