Creating a Custom PaaS with
Mesos & Marathon
Tehmasp Chaudhri | @tehmaspc
the goals:
-
to build an internal container centric infrastructure to allow for the rapid delivery of business applications
-
to support our business requirements around application deployments
-
to potentially support many applications and teams
-
to increase happiness for and amongst developers and operations teams
why containers?: the good, the bad
-
speeding up development
-
speeding up deployment (and consistency)
-
creating a clean deliverable by dev to ops
...
good:
bad (challenges):
-
management of containers?
-
application linking & discoverability?
-
enterprise concerns?
...
tackling the bad:
mesos: the what, the why
what:
-
a system for scheduling and distributing work across a cluster of nodes abstracted into a large resource pool
why:
-
well supported; top level Apache project
-
raw management and support for Docker containers
-
attractive means of managing many app services by an operations team
-
multiple frameworks (e.g. Marathon)
mesos: architecture
mesos:
GUI
marathon: the what, the why
what:
-
a framework for Apache Mesos that manages the running of applications (PaaS-in-a-box)
why:
-
excellent feature set for our application services needs:
-
e.g. app constraints, scaling, events, discovery and load balancing
-
-
a REST API to support creating our own PaaS rules on top of
marathon: architecture
marathon: GUI
utopia:
the what, the why
what:
-
our internal CLI tool interfacing with our Marathon deployment which every developer uses in order to develop, deploy, and maintain their applications with
-
enforces our internal development and deployment requirements
-
greatly increases developer productivity and ease of deployments
-
forces an operations team to think like systems developers
why:
utopia:
architecture
utopia:
architecture cont'd
going forward:
-
Mesosphere DCOS (forget everything I said?)
-
Docker 1.5 - current, brings useful infrastructure features
questions?
Creating a Custom PaaS with Mesos & Marathon
By Tehmasp Chaudhri
Creating a Custom PaaS with Mesos & Marathon
Mesos & Marathon Deployment @ Aetna
- 2,931