Scaling Continuous Deployment @ Etsy
Avleen Vig Staff Operations Engineer @avleen
With much credit: Daniel Schauenberg: (@mrtazz)
Scaling Continuous Deployment @ Etsy Avleen Vig Staff Operations - - PowerPoint PPT Presentation
Scaling Continuous Deployment @ Etsy Avleen Vig Staff Operations Engineer @avleen With much credit: Daniel Schauenberg: (@mrtazz) Statistics @avleen Statistics @avleen Our application Mostly monolithic @avleen Our application A
Avleen Vig Staff Operations Engineer @avleen
With much credit: Daniel Schauenberg: (@mrtazz)
@avleen
@avleen
@avleen
Mostly monolithic
@avleen
A few services too
@avleen
Deploy frequency
@avleen
Before..
@avleen
Today.. ..and that’s just a fraction!
@avleen
The push train
Item by decomodwalls
@avleen
#push
changes
topic
@avleen
<prod> kseever* + jameslee | jpaul | avleen (c)
#push
@avleen
<prod> bateman* + krunal* + enorris* | tristan (c) + jameslee (c) + jlaster (c) | dawa + corey + sandosh + jklein + magera + seth_home + mpascual + nathan | bateman | russp (c)
#push
@avleen
Deployinator
@avleen
@avleen
So what’s the problem?
@avleen
So what’s the problem?
atomic
place
@avleen
Um, limits per day?
minutes to deploy
deploys per day - not enough!
@avleen
Our options:
@avleen
More code in each deploy:
each push?
for reducing wait times
@avleen
Allow concurrent deploys:
@avleen
Concurrent deploys:
HELLO SPLIT QUEUES HELLO SPLIT QUEUES
@avleen
Reduce deploy times:
intervals
@avleen
Make deploys atomic:
Yin Yang
Active Docroot
@avleen
Make deploys atomic:
Yin Yang
Active Docroot rsync
@avleen
Make deploys atomic:
Yin Yang
Active Docroot
@avleen
Make deploys atomic:
Yin Yang
Active Docroot
@avleen
Make deploys atomic:
@avleen
@avleen
Make deploys atomic, mod_realdoc:
realpath of docroot
@avleen
@avleen
Make deploys atomic, incpath:
include_path
@avleen
@avleen
Before:
Deploy Host
Deployinator
Production Servers
@avleen
After:
Deploy Host
Deployinator
Production Servers Deploy Host
@avleen
@avleen
What did we gain?
@avleen
Push frequency
minutes to deploy
Much more code going out Tests still run fast Less time waiting to deploy
@avleen