HERE Technologies has many teams deploying services to DC/OS. When first using Mesos, and now DC/OS, the ops team owned the deployments but this caused bottlenecks. Our goal then became to allow the dev teams to deploy directly to DC/OS using an API. However, the ops team didn’t feel the dev team should be exposed to the full Marathon API. First, there would be a learning curve, both now and in the future when new features are added. Second, operationally there are certain things that NEED to be done correctly. For example, certain arguments need to be passed to the docker daemon for logging and monitoring to be setup correctly in the environment. For these reasons, the Deployment API was created to sit between the developers and DC/OS. This allows the operations team to “enhance” the Marathon JSON and provide standards across many development teams.
Chris Mays is a Principal Engineer at HERE Technologies. He has worked at here for 12 years writing automation, architecting solutions and playing with Docker and Mesos.