Alex Wilson & Benji Weber | Pipeline 2014
http://www.unrulymedia.com/
Marketing Technology
12-120 in under 2 years
"Plan releases once a quarter. Plan iterations more frequently"
(XP Explained)
We do none of these things
Deliver value as quickly as possible
Minimise time from conception to value
When tests pass
When integrated
When deployable build
When deployed
When measurably delivering value
Live with broken
No CI Server
Business Dev decides when to deploy
Essential
Every build is capable of being deployed
Every push is deployed
Even after beer o'clock
Specialists help generalists do better
Didn't work - became a bottleneck
Freedom and responsibility
Real-time code review
More frequent machine death during growth
Caught out by assuming servers were rebuildable - they weren't
Any project's first step - deploy "Hello World"
Deploy something, iteratively improve
Unit-testing less useful
Acceptance testing much more informative
@test "apache should redirect to https" { run curl http://analytics.unrulymedia.com/ [ "$status" -eq 0 ] echo "$output" \ | grep -q '< Location: https://analyti… }
@RunWith(ServerSpec.class) public class AnalyticsWeb {{ describe(service("httpd"), it -> { it.should(be.enabled); it.should(be.running); }); describe(port(80), it -> { it.should(be.listening); }); describe(port(443), it -> { it.should(be.listening); }); }}
Assumed care; Ensured suffering
Cross-team collaboration
Homogenous systems are easier to reason about.
MTBF becomes less important than MTTR
"organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations"
Take advantage
You know least when you start
Deploy speed vs Dependency Hell
Deploy Speed & Reliability
0.1% failure rate is annoying with 100 tests
0.1% failure rate is impossible with 10,000 tests
Continuous Deployment
Synchronous Deploy
No CI Server
Cronned Code Deletion
Short pipeline
Fast feedback
Early value
Heckle us on Twitter – @pr0bablyfine @benjiweber
We're hiring – talent@unrulymedia.com