Marathon vs Aurora and their goals

Both Marathon and Aurora are built on Mesos and are supposedly designed to run long services. My questions:

  • What are their differences? I struggled to find good explanations regarding their key differences.
  • Do these frameworks do everything that works on Linux? For the marathon, they claim that it can run everything that is “executed in the shell”, but this is kind of vague :)

Thank!

+45
mesos mesosphere marathon aurora
Feb 21 '15 at 22:07
source share
4 answers

Disclaimer: I am the vice president of Apache Aurora and have been the technical manager of the Aurora team on Twitter for ~ 5 years. My likely biased opinions are my own and do not necessarily represent the interests of Twitter or ASF.

Do these frameworks do everything that works on Linux? For the marathon, they declare that it can run everything that is “executed in the shell”, but this is kind of vague :)

Essentially, yes. Ultimately, these systems are a complex technique for running shell code somewhere in a cluster :-)

What are their differences? I struggled to find good explanations for their key differences

Aurora and Marathon do offer similar feature sets that are classified as “service planners.” In other words, you give us instructions on how to start application servers, and we do our best to support them.

I suggest some differences in wide strokes. When it comes to the flaws mentioned in each, I think it is safe to say that the communities know and intend to fix them.

Ease of use

Aurora is not easy to install. It will probably be like you coming up with it. It provides an attractive API, which means that you need a thrifty client to interact with it programmatically (there is a REST-like API, but at the moment it is a steam device) or use our command line client. Aurora has a DSL for configuration , which can be complicated, but makes it easy to share patterns and common patterns as you use the system more.

A marathon, on the other hand, will help you run Hello World as quickly as possible. It has great docs to do this in many environments and a bit of overhead to go. It has a REST API, which makes it easy to adapt to custom tools. It uses JSON for configuration , which is easy to start with, but more prone to handling cargo.

Target Use Cases

Aurora has always been designed to work with a large engineering organization. Clusters on Twitter have tens of thousands of machines and hundreds of engineers using them. For business, Twitter is important. As a result, we take our demands for scale, stability and security very seriously. We make sure that we only approve features that we believe are trustworthy on a production scale (for example, we have Docker support, designated as beta, due to known issues with Docker itself and Mesos-Docker integration ) We also have features such as prevention, which makes our clusters suitable for mixing mission-critical business services with prototypes and experiments.

I cannot claim to be scalable or against Marathon. At the front of functions, Marathon is rapidly developing functions, but in practice this may be felt for a short time (Docker support is a good example). This is not always due to the marathon itself, but also to layers down the stack. A marathon does not provide prevention.

of property

Owning and managing a project is important for some. He believes that in practice he does not determine the openness of the project, but for some people / companies, legal small print can be a deal.

  • The marathon belongs to the company (Mesosphere)

This is useful for some, but not for others. This means that you can pay for support and features. It also means that there is something that can be sold, and the direction of the project is ultimately determined by the interests of the Mesosphere.

  • Aurora is owned by the Apache Software Foundation

This means that it follows a community-driven ASF management model. Aurora has no paid customers, and there is currently no software store that you can pay for development.

tl; dr If you just get your feet wet on running services on Mesos, I would suggest Marathon as your first port of call. It will be easier for you to run and delve around the ecosystem. If you are creating a “private cloud strategy” for a company, I suggest seriously considering Aurora, as it is proven and specifically designed for this.

+80
Apr 24 '15 at 22:03
source share

So, I rate both, and this is my resume.

Aurora

[+] also handles recurring jobs [+] finer grained, extensive file-based configuration [+] has namespaces so multiple environments can co-exist [-] read-only UI, no official API [~] file based configuration and cli based execution brings overhead (which can be justified with more extensive feature set) 

Marathon

 [+] very easy to setup and use [+] UI that provides control and extensive API (even with features missing from UI at the moment) [+] event bus to listen in on api calls [-] handles only long-running jobs [-] does not have separate deployment-run-cleanup steps, these if necessary need to be combined in a script of one-liner 

Despite the fact that Aurora has the best features, I prefer the marathon due to the complexity of Auroras / overhead and the lack of a user interface (for management) and API

+21
Apr 08 '15 at 10:03
source share

I have more experience with the marathon.

Ideological:

  • Marathon is a relatively proven product that is used in manufacturing on AirBnB. Aurora is an early Apache project (therefore YMMV).
  • Both are open and active. Feel free to submit popup requests or file problems!

Technical:

  • The marathon does not plan batch jobs or cron jobs.
  • Marathon has a friendly user interface and the best health indicators (at 0.8.x)

As for the second question, you can start any container of commands or dockers, and Mesos will do the allocation of resources for you. If you have 50% CentOS nodes and 50% Ubuntu nodes, and you run a task that performs apt-get , the task will have a 50% chance of error. Mesos and Marathon are unaware of real cars.

+3
Mar 13 '15 at 20:47
source share

Disclaimer: I have no practical experience with Aurora, only with Marathon.

ad Q1: In a nutshell, Apache Aurora can do what Marathon + Chronos can provide, i.e. schedule both long-term services and recurring (batch) jobs; see also Aurora User Guide .

Announcement Q2: Yes, whatever. Currently based on groups and docker, but hey, you can flip your own .

+2
Mar 13 '15 at 6:02
source share



All Articles