Smoothing the Continuous Delivery path A tale of two teams

Smoothing the Continuous Delivery path
A tale of two teams
Making Software. Better.
simple so<ware solu>ons to big business problems.
@EqualExperts
@lyndsp
© Equal Experts UK Ltd and lyndsayp ltd 2016
There’s no (CD) silver bullet
●  1 (php) monolith
●  50 deploys / day
●  1.5 billion page views /
month
●  >600 java microservices
●  >100 deploys / day
●  ~2 billion requests per day
https://goo.gl/qZXKWK
http://goo.gl/NZfr8a
@EqualExperts
@lyndsp
© Equal Experts UK Ltd and lyndsayp ltd 2016
2
There’s no (CD) silver bullet
C++
C#
●  2 monoliths (C#, C++)
●  >300 microservices (Scala)
●  Weekly deployments
●  Mul>ple deploys / day
●  ~100M visits / day
●  ~11.5M page views / peak day
@EqualExperts
@lyndsp
© Equal Experts UK Ltd and lyndsayp ltd 2016
3
Best practice #0 - Start with the best people you can hire
@EqualExperts
@lyndsp
© Equal Experts UK Ltd and lyndsayp ltd 2016
4
Best practice #1 - Think about Production, all the time
Produc'on focused Standups
▪  Work board right to le<
▪  What was deployed
yesterday?
▪  What will be deployed today?
@EqualExperts
@lyndsp
© Equal Experts UK Ltd and lyndsayp ltd 2016
5
Best practice #1 - Think about Production, all the time
●  What’s the smallest thing we
can release to Produc'on?
●  How do we evolve Produc'on
behaviour
●  Is this code change safe to go
to Produc'on today?
@EqualExperts
@lyndsp
© Equal Experts UK Ltd and lyndsayp ltd 2016
6
Best practice #2 - Testing is an activity, not a phase
Product
Owner
Define
@EqualExperts
QA
Dev
Build
Test
@lyndsp
Web Ops
Deploy
© Equal Experts UK Ltd and lyndsayp ltd 2016
7
Best practice #2 - Testing is an activity, not a phase
Product
Owner
Dev
QA
Web Ops
Test
Define
@EqualExperts
Build
Explore
@lyndsp
Deploy
© Equal Experts UK Ltd and lyndsayp ltd 2016
8
Monolith best practice #1 - 5 why’s
●  Create a >meline.
●  Gather those involved.
●  Walk through the >meline.
●  Choose an entry point event:
○  Event
○  Why?
○  Process improvement
●  Repeat x5 (ish)
@EqualExperts
@lyndsp
© Equal Experts UK Ltd and lyndsayp ltd 2016
9
Monolith best practice #2 - automated release notes
@EqualExperts
@lyndsp
© Equal Experts UK Ltd and lyndsayp ltd 2016
10
Monolith best practice #2 - automated release notes
@EqualExperts
@lyndsp
© Equal Experts UK Ltd and lyndsayp ltd 2016
11
Monolith best practice #2 - automated release notes
Production
Version
Candidate
Version
Payments
API’s
Release note
generator
Source control
system
Login
Reporting
Features
Stories
Agile Project
Management Tool
Defects
@EqualExperts
Tasks
@lyndsp
Story 123
Areas, authors, why
...
Defect 789
Areas, authors, why
...
Untracked work
Areas, authors
...
© Equal Experts UK Ltd and lyndsayp ltd 2016
12
Microservice best practice #1 - teams own their own microservices
“You build it, you run it”
- Werner Vogels
Amazon CTO
hdps://goo.gl/DyfeOf
@EqualExperts
@lyndsp
© Equal Experts UK Ltd and lyndsayp ltd 2016
13
Microservice best practice #2 - backward compatible API’s
Produc>on
Staging
QA
Sharing
through
caring
Dev
@EqualExperts
@lyndsp
© Equal Experts UK Ltd and lyndsayp ltd 2016
14
Smoothing the Continuous Delivery path
A tale of two teams
Making Software. Better.
simple so<ware solu>ons to big business problems.
@EqualExperts
@lyndsp
© Equal Experts UK Ltd and lyndsayp ltd 2016