Democratic Deploys at Airbnb

Preview:

Citation preview

Democratic Deploys at Airbnb

1

Igor SerebryanyDeveloper Happiness Engineer

Airbnb

Democratic DeploysKeeping Airbnbers Shipping w/ Deployboard

WELCOME!Thanks for coming!

Who is the guy on stage?

Developer Happiness

AKA: Developer Infrastructure

Deploys Performed Through Deployboard

0

5000

10000

15000

20000

2012 2013 2014 2015

Deploys Trend

Engineers Using Deployboard

2012 2013 2014 2015

Engineers Trend

Every Engineer Deploys Her Own Code

AgendaWhy should engineers ship their own code?How does Deployboard enable this?Questions from YOU!

Deploys Are Dangerous

S C A R Y !

Release Managers!Magical breakage preventers?

Practical____________________________

Less context on changesSlowing down == more danger

Still need code to hit prod

C A S E A G A I N S T R E L E A S E M A N A G E R S

Cultural____________________________

Less AutonomyLess Responsibility

Less HolisticLess Happiness!

C A S E A G A I N S T R E L E A S E M A N A G E R SAirbnb Core Values

R E L E A S E M A N A G E R S

errybody is a release manager

What AboutArcane Knowledge?

How to deployHow to roll back and revert bad changesHow to detect if something is brokenWhom to notify on breakageHow and when to prevent deploys

Tooling Makes Great Release Managers

Let’s Review____________________________

Traditional release management is not magicEveryone should ship code

Tools can help

Airbnb Releases: How Do They Work?

Fast Releases Start With Fast Builds

Stream of Events

GHE

Engineer

Engineer

Engineer CommitmentPublisher

GHE

GHE

RabbitMQ

Deployboard

Git

Hook Publish Subscribe

Deployboard Subscribers

GHE

Engineer

Engineer

Engineer CommitmentPublisher

Git

Hook Publish GHE

GHE

RabbitMQ

DeployboardSubscribe

Deployboard

Deployboard

Build System

Code Review GHE

@mention Notifications Slack

Deployboard Builds

Build System

GHE

GHE

RabbitMQ

DeployboardSubscribe

Deployboard

Deployboard Code Review GHE

@mention Notifications Slack

deployboard/monorail/builds

Help you deploy, Yoda will

deployboard/monorail/builds

deployboard/monorail/deploys

But what if something goes wrong?

Easy Rollbacks

deployboard/monorail/builds

deployboard/monorail/builds

deployboard/monorail/builds

deployboard/monorail/builds

Deploy Locks

deployboard/monorail/builds

Summing Up

Tooling Makes Great Release Managers

How to deploy Click a buttonHow to roll back and revert bad changes Click a buttonHow to detect if something is broken Automated alertsWhom to notify on breakage YourselfHow and when to prevent deploys Locks

What AboutArcane Knowledge?

How to deployHow to roll back and revert bad changesHow to detect if something is brokenWhom to notify on breakageHow and when to prevent deploys

You Don't Have to Centralize Control

Release Management Happiness!

Thank you!

F E E D B A C K ? P R E S E N T A T I O N S @ A I R B N B . C O M

Questions?

F E E D B A C K ? P R E S E N T A T I O N S @ A I R B N B . C O M

Follow Us:@AirbnbNerds

airbnb.io

Join Us:airbnb.com/nerds

Recommended