Deployment API Chris Mays, Principal Engineer, HERE Technologies - - PowerPoint PPT Presentation

deployment api
SMART_READER_LITE
LIVE PREVIEW

Deployment API Chris Mays, Principal Engineer, HERE Technologies - - PowerPoint PPT Presentation

Deployment API Chris Mays, Principal Engineer, HERE Technologies Micah Noland, Lead Engineer, HERE Technologies Problem Statement Goal: Self Service Deployment Problem: DC/OS API has a learning curve docker run settings: Enable


slide-1
SLIDE 1

Deployment API

Chris Mays, Principal Engineer, HERE Technologies Micah Noland, Lead Engineer, HERE Technologies

slide-2
SLIDE 2

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
slide-3
SLIDE 3

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

slide-4
SLIDE 4

Git File Structure

  • Supports .properties or .yaml files
  • Hierarchical inheritance structure

– application-global.yaml – helloworld-deploy.yaml – helloworld-deploy-dev.yaml

slide-5
SLIDE 5

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)

slide-6
SLIDE 6

Open Source

  • Deployment API is open source:

– https://github.com/heremaps/deployment-api

  • Contact:

– chris.mays@here.com – micah.noland@here.com

slide-7
SLIDE 7

Demo

  • Jenkins CI/CD with Deployment API Demo