Deis in Production

Matthew Fisher

matthewf@opdemand.com

@bacongobbler

About Me

  • Core maintainer of Deis
  • bacongobbler on github, IRC, twitter
  • Open contributor to Deis since v0.1.1
  • Contributed DigitalOcean support for Deis in v0.2.0

Demo with Spree Commerce

Recap

  • Cluster-wide TLS
  • Fleet scheduler support
  • Scale out processes by type
  • Run one-off commands
  • Configuration management
  • Log aggregation
  • Release management
  • CPU/memory limits
  • Custom domains

Other Features

  • Metadata scheduling support
  • Websocket support
  • Supports many deployment workflows

CI/CD Workflows with `deis pull`

What is `deis pull`?

  • docker-native workflow
  • imports an image from DockerHub or private registry
  • creates a new release using that image

An Example...

  • One dockerized app
  • One CD Pipeline
  • One new release
  • v1.0.0 running on Deis

Going through the typical workflow...

  • Run test suite
  • Code review/QA
  • Tag release
  • Post-merge hooks

How do we deploy the app to Deis?

In the post-merge hooks, of course!

  • build docker image, tagged as v1.1.0
  • push tagged image to private registry
  • deis pull myregistry.io/myapp:v1.1.0

Thanks!