Top Banner
least friction and overhead to getting started and adopting docker in production
17

How Postman adopted Docker

Jan 24, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: How Postman adopted Docker

least friction and overhead to getting started and adopting docker in production

Page 2: How Postman adopted Docker

About Postman

3+ million users

1.5+ million mau

30+ member team

Page 3: How Postman adopted Docker

Our Stack25+ micro services

10+ mill peak req/hr140+ gb in/day

nodejsdocker

jan 2017

Page 4: How Postman adopted Docker

postman’s operations middleware

Page 5: How Postman adopted Docker

early adopterslate 2014 ⇢ small team ⇢ frugal operations

early goal was to ship and validate andspend less time on operations

Page 6: How Postman adopted Docker

why docker?cloud is vm ⇢ no chef/puppet expertise ⇢

exactness

since cloud is a VM in some form,no guarantee that VM based system will work

if a startup needs to switch cloud provider

Page 7: How Postman adopted Docker

operational flexibility

centralised (hub) ⇢ code coupled ⇢ maintainable ⇢ unobtrusive

common base image for all applications

image per application is stored alongside code

docker image file is treated as code (goes through PR, etc)

common server setup and standardisation is moved to base image and remaining overrides

to per-service image

å

Page 8: How Postman adopted Docker

developer prepares code and environment ci tests code using centrally inherited image

image is orchestrated into production services

Page 9: How Postman adopted Docker

zero downtimehot reboot ⇢ live deployments ⇢ live rollback

no need to reboot entire server

build and deploy applications as a secondary image and then swap

Page 10: How Postman adopted Docker

auto instrumentationlog stream (volumes) ⇢ system tuning

written once in base image and then re-used across all services

Page 11: How Postman adopted Docker

public network segment

private network segment

server 1 server 2 server n

load balancer orchestrator

public network segment

private network segment

server 1 server 2 server n

load balancer orchestrator

service one service two

communication bus | shared resources | service discovery and registration

we use Beanstalk for orchestration andconceptually this can be Kubernetes or anything else

Page 12: How Postman adopted Docker

production emulation

faster debugging ⇢ portable configuration (env)

any system (even a local machine) can be

connected to any load balancer and hence facilitate debugging

Page 13: How Postman adopted Docker

security surfacecentrally controlled ⇢ managed updates

Page 14: How Postman adopted Docker

Summarising• Just “choose” docker to get started (even if using

minimal features) and see value in long run• Start using docker in deployment keeping individual

docker files in source code.• Use a single source image (to inherit from) for all

deployments• Configure security, logging and other basics in the

source environment and keep on improving it.

Page 15: How Postman adopted Docker

our window to developer freedom

Page 16: How Postman adopted Docker

fun and freedombilling notification ⇢ team setup ⇢ one-click

docker

do not bother how much cost your

team is raking up until s**t hits the

roof

once the service has been tested

here (or locally), we move it to production

instances in AWS

Page 17: How Postman adopted Docker

@shamasisgetpostman.com