Development process optimization

Frustrating things

  • Slow deployment
  • Dealing with staging and testing
  • Writing testing notes :D

Docker

Docker is standardizing the way to package applications, making it easier for developers to code and build apps on their laptop or workstation and for IT to manage, secure and deploy into a variety of infrastructure platforms.

master

Gitlab

Heroku

powr.io

Gitlab

staging

Heroku

powr-staging.io

PM-1

PM-2

PM-3

master

Gitlab

Heroku

powr.io

Gitlab

staging

Heroku

powr-staging.io

PM-1

PM-2

PM-3

master

Gitlab

Heroku

Heroku

staging

production

master

Gitlab

Heroku

Heroku

staging

production

PM-5

Engineer

master

Gitlab

Heroku

Heroku

staging

production

PM-5

Engineer

DockerHub

MR for PM-25

MR for PM-5

master

Gitlab

Heroku

Heroku

staging

production

PM-5

Engineer

DockerHub

MR for PM-25

MR for PM-5

QA 🧔🏻's localhost

MR for PM-5

master

Gitlab

Heroku

Heroku

staging

production

PM-5

Engineer

DockerHub

MR for PM-25

MR for PM-5

QA 🧔🏻's localhost

MR for PM-25

Pros

  • Testing in isolated environment
  • One way git flow (no more nuking staging)
  • Faster deployment
  • Simple on-boarding for new engineers
  • Don't need to use ruby/node version managers.

Cons

  • Initial configuring for Gitlab, Heroku and Dockerhub might take up to 3 weeks
https://blog.docker.com/2017/08/docker-101-introduction-docker-webinar-recap/

deck

By Sergey Tyan

deck

  • 22