BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Marathon from Mesosphere Inc. is a scalable, production-grade, open source container orchestration platform for both Mesosphere's Apache Mesos and Datacenter Operating System (DC/OS). The platform supports container-based application deployment for continuous integration, internet of things and managed cloud services environments.
How does the system help organizations run containers?
Marathon offers multiple container runtimes, with support for both Apache Mesos (using cgroups) and Docker containers. The system helps to automate processes that are traditionally performed manually. Its web-based user interface enables users to easily launch and monitor any Docker image, as well as update configurations of running applications.
A key feature of the Mesosphere Marathon container orchestration platform is its support for zero-downtime deployments. The system supports a high-availability mode of operation by default, which means it allows applications to continue running even if an individual instance becomes unavailable. It accomplishes this by running several Marathon instances that point to the same ZooKeeper quorum. ZooKeeper automatically performs leader election when the currently leading Marathon instance fails.
Marathon also uses constraints to control and optimize where apps run, enabling fault tolerance (by spreading a task out on multiple nodes) or locality (by running all of an application's tasks on the same node). Users can also perform application health checks using HTTP and TCP, and metrics can be collected by querying them at '/metrics' in JSON or using systems like Graphite, DataDog and StatsD.
Mesosphere Marathon includes a powerful event bus, enabling DevOps to programmatically react to application changes in a custom manner. Its flexible plug-in architecture enables custom integration into existing enterprise IT environments. Security features include user authentication and role-based access control.
Marathon is preinstalled with Mesosphere DC/OS. Together, the software make it easier to install, scale and manage complex systems that run on a shared cluster alongside consumer web applications and microservices. When run as part of DC/OS, Marathon offers additional features, such as virtual IP routing (which enables automated load balancing and rerouting around failures) and true multi-tenancy, with each user or group having access to their own applications and groups.
Who benefits from this container orchestration platform?
Companies use Mesosphere Marathon as part of DC/OS to manage containers on hundreds or thousands of nodes in a public cloud, their own data center or across hybrid environments. Microsoft's Azure Container Service uses Mesosphere Marathon to deliver production-ready container orchestration scalable to thousands of containers.
In addition to Docker containers, Mesosphere Marathon can launch almost any application, including Java virtual machine apps, Ruby scripts and others. This enables users to transition from legacy architectures to fully containerized workloads. It also supports stateful apps, which allows users to run databases like MySQL and Postgres and have their storage accounted for by Mesos.
How is the system licensed and priced?
Mesosphere Marathon is open source and can be obtained from the Mesosphere website. Issues and feature requests can be filed through the Marathon GitHub page. For support issues, the "marathon-framework" Google Group is where team and community members ask and answer longer queries. The "marathon" Stack Overflow tag is for specific questions that can be solved with small amounts of code.
What features should you look for when choosing a container management system?
What is the best app modernization approach for your business?
Selecting a legacy app modernization tool is no easy task