GDS
Michael Brunton-Spall
I work for the Government Digital
Service
Slide 3
Slide 3 text
GDS
Michael Brunton-Spall
Everything you know about
microservices is wrong
Slide 4
Slide 4 text
GDS
Michael Brunton-Spall
What if I said the word
microservices has no meaning
Slide 5
Slide 5 text
GDS
Michael Brunton-Spall
I don't think you understand
microservices
Slide 6
Slide 6 text
GDS
Michael Brunton-Spall
I don't understand microservices
Slide 7
Slide 7 text
GDS
Michael Brunton-Spall
What is a monolith?
Slide 8
Slide 8 text
GDS
Michael Brunton-Spall
The original Guardian CMS
Slide 9
Slide 9 text
GDS
Michael Brunton-Spall
New Guardian CMS?
Slide 10
Slide 10 text
GDS
Michael Brunton-Spall
Etsy?
Slide 11
Slide 11 text
GDS
Michael Brunton-Spall
Facebook?
Slide 12
Slide 12 text
GDS
Michael Brunton-Spall
These terms are folksonomies
Slide 13
Slide 13 text
GDS
Michael Brunton-Spall
What you mean by monolith and
what I mean by monolith are
different
Slide 14
Slide 14 text
GDS
Michael Brunton-Spall
Sam's talk on Wednesday
started by defining
microservices…
Slide 15
Slide 15 text
GDS
Michael Brunton-Spall
… But we often talk about them
without defining them
Slide 16
Slide 16 text
GDS
Michael Brunton-Spall
Slide 17
Slide 17 text
GDS
Michael Brunton-Spall
So what's the confusion?
Slide 18
Slide 18 text
GDS
Michael Brunton-Spall
What if I told you we've been
confusing cause and effect?
Slide 19
Slide 19 text
GDS
Michael Brunton-Spall
“Microservices represent a new
organisational model as much as
a new architectural model”
@JeffSussna
http://blog.ingineering.it/post/110741562854/microservices-have-you-met-devops
Slide 20
Slide 20 text
GDS
Michael Brunton-Spall
The netflix model is based on
systems thinking, not process
thinking
Slide 21
Slide 21 text
GDS
Michael Brunton-Spall
But the only output you can see
is the processes and rules
Slide 22
Slide 22 text
GDS
Michael Brunton-Spall
Sam's principles of microservices
http://www.slideshare.net/spnewman/principles-of-microservices-velocity
Slide 23
Slide 23 text
GDS
Michael Brunton-Spall
Principles of
Microservices
Culture of
Automation
Hide
Implementation
Details
Decentralise all
the things
Consumer
first
Deploy
independently
Isolate
failure
Highly
observable
Modelled around
business domain
Slide 24
Slide 24 text
GDS
Michael Brunton-Spall
But wait – these aren't really
technical
Slide 25
Slide 25 text
GDS
Michael Brunton-Spall
Culture of communication
Slide 26
Slide 26 text
GDS
Michael Brunton-Spall
Principles of
Microservices
Culture of
Automation
Hide
Implementation
Details
Decentralise all
the things
Consumer
first
Deploy
independently
Isolate
failure
Highly
observable
Modelled around
business domain
Slide 27
Slide 27 text
GDS
Michael Brunton-Spall
Culture of automation
Slide 28
Slide 28 text
GDS
Michael Brunton-Spall
Principles of
Microservices
Culture of
Automation
Hide
Implementation
Details
Decentralise all
the things
Consumer
first
Deploy
independently
Isolate
failure
Highly
observable
Modelled around
business domain
Slide 29
Slide 29 text
GDS
Michael Brunton-Spall
Culture of autonomy
Slide 30
Slide 30 text
GDS
Michael Brunton-Spall
Principles of
Microservices
Culture of
Automation
Hide
Implementation
Details
Decentralise all
the things
Consumer
first
Deploy
independently
Isolate
failure
Highly
observable
Modelled around
business domain
Slide 31
Slide 31 text
GDS
Michael Brunton-Spall
Culture of resilience
Slide 32
Slide 32 text
GDS
Michael Brunton-Spall
Principles of
Microservices
Culture of
Automation
Hide
Implementation
Details
Decentralise all
the things
Consumer
first
Deploy
independently
Isolate
failure
Highly
observable
Modelled around
business domain
Slide 33
Slide 33 text
GDS
Michael Brunton-Spall
Culture of transparency
Slide 34
Slide 34 text
GDS
Michael Brunton-Spall
Principles of
Microservices
Culture of
Automation
Hide
Implementation
Details
Decentralise all
the things
Consumer
first
Deploy
independently
Isolate
failure
Highly
observable
Modelled around
business domain
Slide 35
Slide 35 text
GDS
Michael Brunton-Spall
What if you have the cultural
features but not the technical?
Slide 36
Slide 36 text
GDS
Michael Brunton-Spall
What if you have the technical
but not the cultural?
Slide 37
Slide 37 text
GDS
Michael Brunton-Spall
Principles
Autonomy
Resilience
Transparency
Communication Automation
Slide 38
Slide 38 text
GDS
Michael Brunton-Spall
You can do this without changing
a line of code
Slide 39
Slide 39 text
GDS
Michael Brunton-Spall
Build a culture of communication
Slide 40
Slide 40 text
GDS
Michael Brunton-Spall
You (Engineering and
Operations) exist purely for the
benefit of the business
Slide 41
Slide 41 text
GDS
Michael Brunton-Spall
“Your software should
sustainably minimise time to
business impact”
@tastapod
Slide 42
Slide 42 text
GDS
Michael Brunton-Spall
Other people in your organisation
don't care about code
Slide 43
Slide 43 text
GDS
Michael Brunton-Spall
Understand the domain, the
processes, the people
Slide 44
Slide 44 text
GDS
Michael Brunton-Spall
Build a culture of automation
Slide 45
Slide 45 text
GDS
Michael Brunton-Spall
Automate as much as possible
Slide 46
Slide 46 text
GDS
Michael Brunton-Spall
If anybody does anything
manually, you should take time to
automate it
Slide 47
Slide 47 text
GDS
Michael Brunton-Spall
Aim for repeatability and
auditability
Slide 48
Slide 48 text
GDS
Michael Brunton-Spall
Constantly improve your
automation
Slide 49
Slide 49 text
GDS
Michael Brunton-Spall
Build a culture of resilience
Slide 50
Slide 50 text
GDS
Michael Brunton-Spall
Give developers pagers
Slide 51
Slide 51 text
GDS
Michael Brunton-Spall
Developers should be exposed
to the pain they cause
Slide 52
Slide 52 text
GDS
Michael Brunton-Spall
They'll soon value resilience!
Slide 53
Slide 53 text
GDS
Michael Brunton-Spall
“You break it, you fix it”
Slide 54
Slide 54 text
GDS
Michael Brunton-Spall
“You break it and cost £X million,
you are responsible"
Slide 55
Slide 55 text
GDS
Michael Brunton-Spall
Build a culture of autonomy
Slide 56
Slide 56 text
GDS
Michael Brunton-Spall
Small teams, working on small
areas of code
Slide 57
Slide 57 text
GDS
Michael Brunton-Spall
Able to release as often as
possible
Slide 58
Slide 58 text
GDS
Michael Brunton-Spall
Automate deploys
Slide 59
Slide 59 text
GDS
Michael Brunton-Spall
Hand the keys for deployment to
the development team
Slide 60
Slide 60 text
GDS
Michael Brunton-Spall
Build a culture of transparency
Slide 61
Slide 61 text
GDS
Michael Brunton-Spall
Log everything
Slide 62
Slide 62 text
GDS
Michael Brunton-Spall
Give everyone access to the logs
Slide 63
Slide 63 text
GDS
Michael Brunton-Spall
Monitor everything
Slide 64
Slide 64 text
GDS
Michael Brunton-Spall
"If it moves, graph it. If it doesn't
move, graph it anyway just in
case it does”
@lozzd's law
Slide 65
Slide 65 text
GDS
Michael Brunton-Spall
Dashboards should be easy to
build and configure
Slide 66
Slide 66 text
GDS
Michael Brunton-Spall
These cultural changes don't
require technology changes
Slide 67
Slide 67 text
GDS
Michael Brunton-Spall
But when you start adopting this
culture
Slide 68
Slide 68 text
GDS
Michael Brunton-Spall
Technology that doesn't support
the culture will get changed
Slide 69
Slide 69 text
GDS
Michael Brunton-Spall
Focus on culture first
Slide 70
Slide 70 text
GDS
Michael Brunton-Spall
Build technology to support the
culture