SlideShare una empresa de Scribd logo
1 de 107
Michael Brunton-Spall
Technical Architect
Government Digital Service
@bruntonspall
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations
/microservices-devops-patterns
Presented at QCon London
www.qconlondon.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
I'm a civil servant
GDSMichael Brunton-Spall
GDSMichael Brunton-Spall
This isn’t the crown’s
opinion on micro-services
GDSMichael Brunton-Spall
Because everyone has an
opinion
GDSMichael Brunton-Spall
What am I not going to
cover?
GDSMichael Brunton-Spall
What are micro-services
GDSMichael Brunton-Spall
How to develop them
GDSMichael Brunton-Spall
Micro-service patterns
GDSMichael Brunton-Spall
So what are micro-services?
GDSMichael Brunton-Spall
Vertically aligned stacks that
communicate via simple and
standard interfaces
GDSMichael Brunton-Spall
Ownership of data
GDSMichael Brunton-Spall
Team ownership of code
GDSMichael Brunton-Spall
Team ownership of code
and runtime
GDSMichael Brunton-Spall
Small is beautiful
GDSMichael Brunton-Spall
Why are we all raving about
them?
GDSMichael Brunton-Spall
Because small owned
systems can be updated
more easily and frequently
GDSMichael Brunton-Spall
Because teams can move
fast and break stuff
GDSMichael Brunton-Spall
Because teams can own the
whole stack
GDSMichael Brunton-Spall
So why do infrastructure
teams hate them?
GDSMichael Brunton-Spall
Because small owned
systems can be updated
more easily and frequently
GDSMichael Brunton-Spall
Because teams can move
fast and break stuff
GDSMichael Brunton-Spall
Because teams can own the
whole stack
GDSMichael Brunton-Spall
“Microservices represent a
new organisational model
as much as a new
architectural model”
@JeffSussna
GDSMichael Brunton-Spall
You (Engineering and
Operations) exist purely for
the benefit of the business
GDSMichael Brunton-Spall
Micro-services can help you
have a radical focus on
delivering business value
GDSMichael Brunton-Spall
The role of engineering and
operations is changing
GDSMichael Brunton-Spall
Operations is the constraint
GDSMichael Brunton-Spall
Operations is perceived as
the constraint
GDSMichael Brunton-Spall
Micro-services in the small
GDSMichael Brunton-Spall
How can we get started?
GDSMichael Brunton-Spall
Start small
GDSMichael Brunton-Spall
Automate infrastructure or
containers
GDSMichael Brunton-Spall
Base Image
GDSMichael Brunton-Spall
Base Image = Ubuntu LTS
GDSMichael Brunton-Spall
Base Image + Cloud Init
GDSMichael Brunton-Spall
Cloud Init = "apt-get update;
apt-get install xxx"
GDSMichael Brunton-Spall
Base Image + Cloud Init +
Deployed Application
GDSMichael Brunton-Spall
Deployed Application =
"wget URL_TO_JAR; java -
jar application.jar"
GDSMichael Brunton-Spall
Time to new server = 1-2
minutes
GDSMichael Brunton-Spall
Why is this useful?
GDSMichael Brunton-Spall
Developer stupidity should
have a business impact
GDSMichael Brunton-Spall
Monitoring tools that are
easy to hook into
GDSMichael Brunton-Spall
Developers can create a
new metric and graph it
GDSMichael Brunton-Spall
GDSMichael Brunton-Spall
"If it moves, graph it. If it
doesn't move, graph it
anyway just in case it does”
@lozzd
GDSMichael Brunton-Spall
Automate log aggregation
GDSMichael Brunton-Spall
ElasticSearch, LogStash,
Kibana
GDSMichael Brunton-Spall
GDSMichael Brunton-Spall
Cloud-friendly databases
GDSMichael Brunton-Spall
Automate deployments
GDSMichael Brunton-Spall
GDSMichael Brunton-Spall
GDSMichael Brunton-Spall
GDSMichael Brunton-Spall
Hand the keys for
deployment to developers
GDSMichael Brunton-Spall
Keep logs of deploys
GDSMichael Brunton-Spall
GDSMichael Brunton-Spall
(Graph them even!)
GDSMichael Brunton-Spall
GDSMichael Brunton-Spall
Alerting
GDSMichael Brunton-Spall
(Sensu Screenshot)
GDSMichael Brunton-Spall
Give developers pagers too
GDSMichael Brunton-Spall
Developers should be
exposed to the pain they
cause
GDSMichael Brunton-Spall
Developers having root on
their service?
GDSMichael Brunton-Spall
"You break it, you fix it"
GDSMichael Brunton-Spall
"You break it and cost £X
million, you take the blame"
GDSMichael Brunton-Spall
Automate Infrastructure
Monitoring tools
Log aggregation
Databases
Automated deployments
Alerting
GDSMichael Brunton-Spall
These are all solved
problems
GDSMichael Brunton-Spall
You are not *that* special
GDSMichael Brunton-Spall
Most of what you do is
wrapping libraries and other
peoples code
GDSMichael Brunton-Spall
Pareto principle
GDSMichael Brunton-Spall
You now have a single, well
supported micro service
GDSMichael Brunton-Spall
Microservices in the large
GDSMichael Brunton-Spall
Microservices are going to
fail in more spectacular
ways than equivalent
monoliths
GDSMichael Brunton-Spall
Simple
GDSMichael Brunton-Spall
Simple
Complicated
GDSMichael Brunton-Spall
Simple
Complicated
Complex
GDSMichael Brunton-Spall
Diagnosis tools
GDSMichael Brunton-Spall
Someone will have to do
diagnosis across all the
services
GDSMichael Brunton-Spall
How are services
monitored?
GDSMichael Brunton-Spall
Shallow Check - Is my
service working
GDSMichael Brunton-Spall
Deep check - Are my
dependencies working?
GDSMichael Brunton-Spall
Average response time isn't
enough
GDSMichael Brunton-Spall
90%, 95%, 99% as well
GDSMichael Brunton-Spall
Distributed systems need to
embrace failure
GDSMichael Brunton-Spall
Partitions are network
breaks and latency spikes
GDSMichael Brunton-Spall
Timeouts are tricky, use with
care
GDSMichael Brunton-Spall
Standardise admin
interfaces
GDSMichael Brunton-Spall
Alerting tools
GDSMichael Brunton-Spall
If citizens can’t submit a
claim at 1am because the
mainframe is down, who’s
problem is that?
GDSMichael Brunton-Spall
You still need 1st line
support and triage
GDSMichael Brunton-Spall
What about when the
developers get bored?
(They do that!)
GDSMichael Brunton-Spall
Maturity model for support?
GDSMichael Brunton-Spall
System must have < N
faults in M weeks and
complete run book to be
handed off
GDSMichael Brunton-Spall
Systems that have more
than N faults in M weeks get
handed back
GDSMichael Brunton-Spall
Who pays for this support?
GDSMichael Brunton-Spall
Operations teams should
act like consultants
GDSMichael Brunton-Spall
"You want an elastic search
cluster, sure we'll help you
…”
GDSMichael Brunton-Spall
"... if we can document and
automate it (+20% effort)"
GDSMichael Brunton-Spall
Pioneers pay the cost
GDSMichael Brunton-Spall
Settlers pave the roads
behind
GDSMichael Brunton-Spall
Everyone else follows
GDSMichael Brunton-Spall
Don't forget to keep the
lights on at the monolith
GDSMichael Brunton-Spall
Michael Brunton-Spall
Technical Architect
Government Digital Service
@bruntonspall
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations/
microservices-devops-patterns

Más contenido relacionado

Más de C4Media

Más de C4Media (20)

Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/await
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Operating Microservices