Top Banner
Development, Deployment and Collaboration at Etsy Daniel Schauenberg [email protected] @mrtazz
52

Development, Deployment and Collaboration at Etsy

Jan 15, 2015

Download

Technology

At Etsy about 150 engineers deploy a single monolithic application more than 60 times a day. This process of deploying small changesets continuously enables us to build up and release robust features and detect and fix bugs extremely fast. All while serving over a billion page views per month. Developing and deploying at such a high velocity however only works because product developers and designers, infrastructure and operations engineers and the security team work closely together. We have an extremely open culture of sharing (inside and outside the company) and make sure we run into as few surprises as possible by bringing everybody on the same page about changes.
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: Development, Deployment and Collaboration at Etsy

Development, Deployment and Collaboration at Etsy

Daniel Schauenberg

[email protected]

@mrtazz

Page 2: Development, Deployment and Collaboration at Etsy
Page 3: Development, Deployment and Collaboration at Etsy

@mrtazz

Page 4: Development, Deployment and Collaboration at Etsy

@mrtazz

Page 5: Development, Deployment and Collaboration at Etsy

@mrtazzItem by TheBackPackShoppe

Page 6: Development, Deployment and Collaboration at Etsy

http://www.flickr.com/photos/brianglanz/1095706242

Page 7: Development, Deployment and Collaboration at Etsy

avg 50 deploys/day

Page 8: Development, Deployment and Collaboration at Etsy

avg n > m deploys/day

Page 9: Development, Deployment and Collaboration at Etsy

How comfortable are you deploying

a change right now?

Page 10: Development, Deployment and Collaboration at Etsy

@mrtazzhttp://www.flickr.com/photos/renaissancechambara/2349811492

small change

Page 11: Development, Deployment and Collaboration at Etsy

Config Flags

Item by RocajoStudio

Page 12: Development, Deployment and Collaboration at Etsy
Page 13: Development, Deployment and Collaboration at Etsy

“If this is your first day at Etsy, you deploy the site”

Page 14: Development, Deployment and Collaboration at Etsy

Developer VMs

Page 15: Development, Deployment and Collaboration at Etsy

@mrtazz

Developer VMs

• KVM

• Every engineer has one

• Fully Chef’d with the Etsy Stack

• Different sizes and Chef roles

Page 16: Development, Deployment and Collaboration at Etsy
Page 17: Development, Deployment and Collaboration at Etsy

Continuous Integration

Page 18: Development, Deployment and Collaboration at Etsy
Page 19: Development, Deployment and Collaboration at Etsy

@mrtazz

Continuous Integration

• Run set of tests before each deploy

• Full QA suite

• Princess/Production smoker tests

• Try (yup, there is one)

Page 20: Development, Deployment and Collaboration at Etsy

http://www.flickr.com/photos/egfocus/6962179321

Page 21: Development, Deployment and Collaboration at Etsy

@mrtazz

The Bobs

• LXC virtualized hosts

• 14/physical hosts

• Spread over 3 SSDs

• Most of them attached to try

Page 22: Development, Deployment and Collaboration at Etsy
Page 23: Development, Deployment and Collaboration at Etsy

Item by decomodwalls

Page 24: Development, Deployment and Collaboration at Etsy

Deployinator

Page 25: Development, Deployment and Collaboration at Etsy

@mrtazz

Deployinator

• 2 Buttons, no ambiguity

• Overview of current state of deploy

• Links to Logwatcher and Dashboards

• Easy to add stacks for new tools to deploy

Page 26: Development, Deployment and Collaboration at Etsy

http://www.flickr.com/photos/jbgeronimi/6363087361

Page 27: Development, Deployment and Collaboration at Etsy
Page 28: Development, Deployment and Collaboration at Etsy

Monitoring

Page 29: Development, Deployment and Collaboration at Etsy

@mrtazz

shouldigraphit.com

Page 30: Development, Deployment and Collaboration at Etsy

@mrtazz

Monitoring

• Devs do their feature monitoring

• Everybody can access all the graphs

• Dashboard All The Things!

• Stream All The Logs!

Page 31: Development, Deployment and Collaboration at Etsy
Page 32: Development, Deployment and Collaboration at Etsy
Page 33: Development, Deployment and Collaboration at Etsy
Page 34: Development, Deployment and Collaboration at Etsy

On Call

Page 35: Development, Deployment and Collaboration at Etsy

If you are writing code, you are

on-call

Page 36: Development, Deployment and Collaboration at Etsy

@mrtazz

On-Call Schedules• ops on-call

• dev on-call

• payments on-call

• support on-call

Page 37: Development, Deployment and Collaboration at Etsy

@mrtazz

Dev On-Call

• Scheduled for 6 months

• On-call roughly every 4 weeks for 1 week

• L1 and L2 escalations

• L1 if it’s your first time

Page 38: Development, Deployment and Collaboration at Etsy

Incident Response

Page 39: Development, Deployment and Collaboration at Etsy

@mrtazz

Incident Response

• “This graph looks funny”

• “Hey I just got paged for elevated error rate after deploys”

• “Supergrep is going crazy!!”

Page 40: Development, Deployment and Collaboration at Etsy
Page 41: Development, Deployment and Collaboration at Etsy

#warroom

Page 42: Development, Deployment and Collaboration at Etsy

@mrtazz

#warroom

• only outage related conversations

• coordinate investigation, communication, countermeasures and monitoring

• good place to lurk for new engineers

Page 43: Development, Deployment and Collaboration at Etsy

Post Mortems

Page 44: Development, Deployment and Collaboration at Etsy

blameless

Page 45: Development, Deployment and Collaboration at Etsy

Everybody’s invited

Page 46: Development, Deployment and Collaboration at Etsy

Learning Opportunity

Page 47: Development, Deployment and Collaboration at Etsy

Summary

Page 48: Development, Deployment and Collaboration at Etsy

@mrtazz

Summary

• These are things that work for *us*

• Culture is an on-going effort

• Share everything

• Encourage learning/teaching

Page 49: Development, Deployment and Collaboration at Etsy

@mrtazz

Summary

• Lunch ’n learns

• DC visits

• On-call for a day

• Bootcamps/Senior rotations

Page 50: Development, Deployment and Collaboration at Etsy

codeascraft.com etsy.com/codeascraft/talks

etsy.github.com etsy.com/careers

Page 51: Development, Deployment and Collaboration at Etsy

Questions?

Page 52: Development, Deployment and Collaboration at Etsy

Development, Deployment and Collaboration at EtsyDaniel Schauenberg

[email protected]