mesoscon deployment api · 2017-12-14 · problem statement •goal: self service deployment...
TRANSCRIPT
![Page 1: MesosCon Deployment API · 2017-12-14 · Problem Statement •Goal: Self Service Deployment •Problem: DC/OS API has a learning curve –dockerrun settings: •Enable Docker Log](https://reader033.vdocument.in/reader033/viewer/2022042219/5ec564b8040010522219d20e/html5/thumbnails/1.jpg)
Deployment APIChris Mays, Principal Engineer, HERE TechnologiesMicah Noland, Lead Engineer, HERE Technologies
![Page 2: MesosCon Deployment API · 2017-12-14 · Problem Statement •Goal: Self Service Deployment •Problem: DC/OS API has a learning curve –dockerrun settings: •Enable Docker Log](https://reader033.vdocument.in/reader033/viewer/2022042219/5ec564b8040010522219d20e/html5/thumbnails/2.jpg)
Problem Statement
• Goal: Self Service Deployment• Problem: DC/OS API has a learning curve
– docker run settings:• Enable Docker Log Driver• Consistent labels for Docker monitoring
– Marathon LB settings• Miss the \r\n and HAProxy no longer gets updated
![Page 3: MesosCon Deployment API · 2017-12-14 · Problem Statement •Goal: Self Service Deployment •Problem: DC/OS API has a learning curve –dockerrun settings: •Enable Docker Log](https://reader033.vdocument.in/reader033/viewer/2022042219/5ec564b8040010522219d20e/html5/thumbnails/3.jpg)
Solution: Proxy the DC/OS API
• Adds an extra layer of control– DC/OS deployment parameters set by Ops– Change management becomes easier
• Utilize DC/OS security• Runtime Parameters stored in Git
– Code Reviews on parameter values– All the benefits of an SCM
![Page 4: MesosCon Deployment API · 2017-12-14 · Problem Statement •Goal: Self Service Deployment •Problem: DC/OS API has a learning curve –dockerrun settings: •Enable Docker Log](https://reader033.vdocument.in/reader033/viewer/2022042219/5ec564b8040010522219d20e/html5/thumbnails/4.jpg)
Git File Structure
• Supports .properties or .yaml files• Hierarchical inheritance structure
– application-global.yaml– helloworld-deploy.yaml– helloworld-deploy-dev.yaml
![Page 5: MesosCon Deployment API · 2017-12-14 · Problem Statement •Goal: Self Service Deployment •Problem: DC/OS API has a learning curve –dockerrun settings: •Enable Docker Log](https://reader033.vdocument.in/reader033/viewer/2022042219/5ec564b8040010522219d20e/html5/thumbnails/5.jpg)
Deployment API
• REST Service Endpoints– deploy: get deployment configuration(s) from git and
send to DC/OS– status: returns the status of the deployment– config: returns the Marathon JSON (debug)
![Page 6: MesosCon Deployment API · 2017-12-14 · Problem Statement •Goal: Self Service Deployment •Problem: DC/OS API has a learning curve –dockerrun settings: •Enable Docker Log](https://reader033.vdocument.in/reader033/viewer/2022042219/5ec564b8040010522219d20e/html5/thumbnails/6.jpg)
Open Source
• Deployment API is open source:– https://github.com/heremaps/deployment-api
• Contact:– [email protected]– [email protected]
![Page 7: MesosCon Deployment API · 2017-12-14 · Problem Statement •Goal: Self Service Deployment •Problem: DC/OS API has a learning curve –dockerrun settings: •Enable Docker Log](https://reader033.vdocument.in/reader033/viewer/2022042219/5ec564b8040010522219d20e/html5/thumbnails/7.jpg)
Demo
• Jenkins CI/CD with Deployment API Demo