Apache Mesos is a cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks. It can run Hadoop, Jenkins, Spark, Aurora, and other applications on a dynamically shared pool of nodes.
• Fault-tolerant replicated master using ZooKeeper
• Scalability to 10,000s of nodes
• Isolation between tasks with Linux Containers
• Multi-resource scheduling (memory and CPU aware)
• Java, Python and C++ APIs for developing new parallel applications
• Web UI for viewing cluster state
One way to think about the difference between Mesos and "cloud" solutions is around how they manage their resources. There is a lot of latency when using Hypervisors (which is what cloud environment use). Mesos operates with cgroups at the kernel level giving you the same isolation but faster from a network, and system perspective.
Mesos also abstracts out the scheduling of resources from the management of resources giving you the ability to create any type of scheduler that makes sense for you (or use existing ones) and still get the same kernel benefits. Think of your scheduler as init.d for your data center servers as a whole and Mesos as the kernel of your entire data center and every computing server in it.