When comparing Amazon EC2 Container Service vs Apache Mesos, the Slant community recommends Apache Mesos for most people. In the question“What are the best cluster managers?” Apache Mesos is ranked 3rd while Amazon EC2 Container Service is ranked 4th. The most important reason people chose Apache Mesos is:
If you have existing workloads, for example (Hadoop, Kafka, Spark, etc), Mesos makes it very easy to use these workloads together.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Separates scheduling logic from state management
One of the core principles on which ECS is built is the separation of scheduling logic from state management. This way, you can choose to use the ECS schedulers, write your own or even integrate third-party schedulers.
Pro Good for existing workloads
If you have existing workloads, for example (Hadoop, Kafka, Spark, etc), Mesos makes it very easy to use these workloads together.
Pro Good with data processing applications
Many modern data processing applications (Hadoop, Kafka, Spark) run very well on Mesos. This is especially nice because they can all be run on the same resource pool, along with new container packaged apps.
Pro Scales very well
Mesos is a battle-proven piece of software which has been used in many large-scale projects (it's used by Twitter, Ebay and AirBnB) and can support hundreds of thousands of nodes.
Cons
Con You have to manually prescale a cluster
Initially you have to create the EC2 instances that you wish to put in your ECS cluster, using the AMI so that they have the ECS agent on them. However, you have to prescale that specific cluster manually after that.
Con May be over-complicated for small clusters
When working with small clusters (less than a dozen nodes), Mesos may be an over-complicated solution since it's rather low level and designed for large clusters and scaling.