SlideShare a Scribd company logo
Microservices:
lessons from the trenches
Team Lead at ThoughtWorks
Mehdi Khalili
twitter: @MehdiKhalili
http://www.mehdi-khalili.com/presentations/microservices-lessons-
dddmel/
http://www.mehdi-khalili.com/microservices-lessons/
Microservices is
AWESOME!!
Benefits of microservices
• Scalability
• Loose Coupling
• Fault Tolerance
• Scalable Development
• Technical Diversification
• Continuous Delivery
http://giphy.com/gifs/parkour-tJLFLygAbaxYk
http://giphy.com/gifs/fail-parkour-dZeSENj3pXT6o
Challenges
• Fault Tolerance
• Loose Coupling
• Greenfield
• Culture
Fault Tolerance
http://giphy.com/gifs/fail-parkour-movement-
7SqLFyxYHal6o
30 services with 99.9% up-time
43m downtime per service a month
1296m downtime a month
one day of downtime a month
The Akamai story!
contain the failure
Netflix:
assumed broken components
Reading
• caching
• data duplication!
• graceful degradation
Actions and events
• guaranteed delivery
• eventual consistency
be proactive about failure
The story of recycling app pool!
• monitoring endpoints
• synthetic monitoring
be proactive about failure
troubleshooting
The story of missing param!
• extensive logging
• correlation id
• log aggregation
troubleshooting
Correlation Id Service From Timestamp Message
996a3975-4996 Registration::Creat
e
nil 02 Aug 2014 19:55:15 AEST
+10:00
bbbe64ab-c84c Cart::Get nil 02 Aug 2014 19:55:15 AEST
+10:00
996a3975-4996 Accounting::Creat
e
Registration::Create 02 Aug 2014 19:55:16 AEST
+10:00
996a3975-4996 Avatar::Create Registration::Create 02 Aug 2014 19:55:16 AEST
+10:00
NullReferenc
e
• extensive logging
• correlation id
• log aggregation
troubleshooting
Correlation Id Service From Timestamp Message
996a3975-4996 Registration::Creat
e
nil 02 Aug 2014 19:55:15 AEST
+10:00
bbbe64ab-c84c Cart::Get nil 02 Aug 2014 19:55:15 AEST
+10:00
996a3975-4996 Accounting::Creat
e
Registration::Create 02 Aug 2014 19:55:16 AEST
+10:00
996a3975-4996 Avatar::Create Registration::Create 02 Aug 2014 19:55:16 AEST
+10:00
NullReferenc
e
• extensive logging
• correlation id
• log aggregation
troubleshooting
Correlation Id Service From Timestamp Message
996a3975-4996 Registration::Creat
e
nil 02 Aug 2014 19:55:15 AEST
+10:00
bbbe64ab-c84c Cart::Get nil 02 Aug 2014 19:55:15 AEST
+10:00
996a3975-4996 Accounting::Creat
e
Registration::Create 02 Aug 2014 19:55:16 AEST
+10:00
996a3975-4996 Avatar::Create Registration::Create 02 Aug 2014 19:55:16 AEST
+10:00
NullReferenc
e
Loose Coupling
http://giphy.com/gifs/fail-parkour-2BuleA8z0C4uY
you need the big picture
The soft-delete story!
you need the big picture
beautiful diagrams!
you need the big picture
Correlation Id Service From Timestamp Message
0a669422-5e44 Registration::Creat
e
nil 02 Aug 2014 19:55:15 AEST
+10:00
bbbe64ab-c84c Accounting::Create User::AddAccount 01 Aug 2014 05:10:01 AEST
+10:00
996a3975-4996 Accounting::Create Registration::Create 02 Aug 2014 19:55:16 AEST
+10:00
e30e4e37-b1e1 Avatar::Create Registration::Create 02 Aug 2014 19:55:16 AEST
+10:00
NullReferenc
e
catch contract violation at build
time not run-time
consumer
provider
consumer
consumer driven contracts
catch contract violation at build time
catch contract violation at build time
consumer
provider
consumer
service libraries
service lib
service lib
catch contract violation at build time
Greenfield
Microservices
http://giphy.com/gifs/zSmGb2eYIAx3y
you need well defined
service boundaries
greenfield leads to
unknown boundaries
The nano-services story!
nanoservice
killmenow
monolith
Size
pain
always start with monolith
extract the bits that would
benefit from microservices
every greenfield project is a
startup“a human institution
designed to create
a new product or
service under
conditions of
extreme
Minimum Viable Product
“that version of a
new product which
allows a team to
collect the maximum
amount of validated
learning about
microservices is hard to
implement
and deploy
and monitor
Microservices
is NOT MVP
never start with
microservices
The Culture
http://giphy.com/gifs/fail-parkour-jCi66sK0E770s
nothing can save you from
cultural failure
“our release process has 43
manual and approval steps”
“fixing the bug took me 5 minutes,
releasing it to prod took 3 weeks!”
heavy processes
“test automation might work for others but
our system is different.”
“we have 30 developers
and 85 testers!”
no automation
“we need to stop obsessing
about quality and focus on
getting this out soon.”
no respect for quality
“we need a DevOps team!”
“shortcut” to happiness
test automation
deployment automation
infrastructure automation
DevOps culture
The Culture
Netflix:
” you code it, you'll deploy it
and you'll be on pager-duty.”
How do you sell microservices?
DO NOT
takeaways
Fault tolerance
• Contain the failure
• Caching, data duplication and graceful degradation
• Guaranteed delivery and eventual consistency
• Be proactive about failure
• Monitoring
• Use extensive logging
Loose coupling
• You need the big picture
• Self documenting application
• Build-time contract verification
• Consumer Driven Contracts
• Service Libraries
Avoid greenfield microservices
• Start with monolith
• Learn your domain model
• Microservices is NOT MVP
takeaway
• Culture, culture, culture!
• Test automation
• Deployment automation
• Infrastructure automation
• DevOps culture
microservices is
awesome
benefits vs overheads
Scalability
Operations &
monitoring
Loose coupling Contract violation
Fault tolerance Fault isolation
Scalable development
Communication
overhead
Lower cognitive load Losing the big picture
Tech diversification
Too many things to
learn
Continuous delivery DevOps culture
do it to the extent its
benefits outweigh
overheads and challenges
Next time you want to do microservices
• Do you actually need it?
• Do you need it now?
• Are the challenges worth the benefits?
• Does it fit your CULTURE?
Resources
Thank you
twitter: @MehdiKhalili
http://www.mehdi-khalili.com/presentations/microservices-lessons-
dddmel/
http://www.mehdi-khalili.com/microservices-lessons/

More Related Content

Viewers also liked

Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)
Mehdi Khalili
 
Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)Mehdi Khalili
 
CQRS and Event Sourcing with Akka, Cassandra and RabbitMQ
CQRS and Event Sourcing with Akka, Cassandra and RabbitMQCQRS and Event Sourcing with Akka, Cassandra and RabbitMQ
CQRS and Event Sourcing with Akka, Cassandra and RabbitMQ
Miel Donkers
 
codecentric AG: CQRS and Event Sourcing Applications with Cassandra
codecentric AG: CQRS and Event Sourcing Applications with Cassandracodecentric AG: CQRS and Event Sourcing Applications with Cassandra
codecentric AG: CQRS and Event Sourcing Applications with Cassandra
DataStax Academy
 
A pattern language for microservices (#gluecon #gluecon2016)
A pattern language for microservices (#gluecon #gluecon2016)A pattern language for microservices (#gluecon #gluecon2016)
A pattern language for microservices (#gluecon #gluecon2016)
Chris Richardson
 
Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)
Chris Richardson
 

Viewers also liked (6)

Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)
 
Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)
 
CQRS and Event Sourcing with Akka, Cassandra and RabbitMQ
CQRS and Event Sourcing with Akka, Cassandra and RabbitMQCQRS and Event Sourcing with Akka, Cassandra and RabbitMQ
CQRS and Event Sourcing with Akka, Cassandra and RabbitMQ
 
codecentric AG: CQRS and Event Sourcing Applications with Cassandra
codecentric AG: CQRS and Event Sourcing Applications with Cassandracodecentric AG: CQRS and Event Sourcing Applications with Cassandra
codecentric AG: CQRS and Event Sourcing Applications with Cassandra
 
A pattern language for microservices (#gluecon #gluecon2016)
A pattern language for microservices (#gluecon #gluecon2016)A pattern language for microservices (#gluecon #gluecon2016)
A pattern language for microservices (#gluecon #gluecon2016)
 
Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)
 

Similar to Microservices lessons from trenches

Making sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverlessMaking sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverless
Christian Posta
 
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of HoneycombSRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
Daniel Zivkovic
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
TechWell
 
Sps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flow
Vincent Biret
 
Cloud Foundry API for Fun and Ops
Cloud Foundry API for Fun and OpsCloud Foundry API for Fun and Ops
Cloud Foundry API for Fun and Ops
Chris DeLashmutt
 
Serverless: What happens next will blow your mind!
Serverless: What happens next will blow your mind!Serverless: What happens next will blow your mind!
Serverless: What happens next will blow your mind!
Chris Williams
 
CyberArkUIPath_RPA Final (1).pptx
CyberArkUIPath_RPA Final (1).pptxCyberArkUIPath_RPA Final (1).pptx
CyberArkUIPath_RPA Final (1).pptx
RohitRadhakrishnan8
 
CyberArkUIPath_RPA Final (2).pptx
CyberArkUIPath_RPA Final (2).pptxCyberArkUIPath_RPA Final (2).pptx
CyberArkUIPath_RPA Final (2).pptx
RohitRadhakrishnan8
 
CyberArkUIPath_RPA Final (2).pptx
CyberArkUIPath_RPA Final (2).pptxCyberArkUIPath_RPA Final (2).pptx
CyberArkUIPath_RPA Final (2).pptx
RohitRadhakrishnan8
 
Serverless Toronto helps Startups
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps Startups
Daniel Zivkovic
 
Building and evolving microservices
Building and evolving microservicesBuilding and evolving microservices
Building and evolving microservices
Ilias Bartolini
 
Building and evolving microservices: lessons from the frontlines - Ilias Bart...
Building and evolving microservices: lessons from the frontlines - Ilias Bart...Building and evolving microservices: lessons from the frontlines - Ilias Bart...
Building and evolving microservices: lessons from the frontlines - Ilias Bart...
Codemotion
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
Abdul Basit Munda
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
Dynatrace
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
TriNimbus
 
Making operations visible - Nick Gallbreath
Making operations visible - Nick GallbreathMaking operations visible - Nick Gallbreath
Making operations visible - Nick GallbreathDevopsdays
 
Making operations visible - devopsdays tokyo 2013
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013Nick Galbreath
 
The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...
Chris Sterling
 
Machine Learning with PyCaret
Machine Learning with PyCaretMachine Learning with PyCaret
Machine Learning with PyCaret
Databricks
 
Tech campmemphis slides_post_session
Tech campmemphis slides_post_sessionTech campmemphis slides_post_session
Tech campmemphis slides_post_session
Stewart Whaley
 

Similar to Microservices lessons from trenches (20)

Making sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverlessMaking sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverless
 
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of HoneycombSRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
 
Sps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flow
 
Cloud Foundry API for Fun and Ops
Cloud Foundry API for Fun and OpsCloud Foundry API for Fun and Ops
Cloud Foundry API for Fun and Ops
 
Serverless: What happens next will blow your mind!
Serverless: What happens next will blow your mind!Serverless: What happens next will blow your mind!
Serverless: What happens next will blow your mind!
 
CyberArkUIPath_RPA Final (1).pptx
CyberArkUIPath_RPA Final (1).pptxCyberArkUIPath_RPA Final (1).pptx
CyberArkUIPath_RPA Final (1).pptx
 
CyberArkUIPath_RPA Final (2).pptx
CyberArkUIPath_RPA Final (2).pptxCyberArkUIPath_RPA Final (2).pptx
CyberArkUIPath_RPA Final (2).pptx
 
CyberArkUIPath_RPA Final (2).pptx
CyberArkUIPath_RPA Final (2).pptxCyberArkUIPath_RPA Final (2).pptx
CyberArkUIPath_RPA Final (2).pptx
 
Serverless Toronto helps Startups
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps Startups
 
Building and evolving microservices
Building and evolving microservicesBuilding and evolving microservices
Building and evolving microservices
 
Building and evolving microservices: lessons from the frontlines - Ilias Bart...
Building and evolving microservices: lessons from the frontlines - Ilias Bart...Building and evolving microservices: lessons from the frontlines - Ilias Bart...
Building and evolving microservices: lessons from the frontlines - Ilias Bart...
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
 
Making operations visible - Nick Gallbreath
Making operations visible - Nick GallbreathMaking operations visible - Nick Gallbreath
Making operations visible - Nick Gallbreath
 
Making operations visible - devopsdays tokyo 2013
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013
 
The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...
 
Machine Learning with PyCaret
Machine Learning with PyCaretMachine Learning with PyCaret
Machine Learning with PyCaret
 
Tech campmemphis slides_post_session
Tech campmemphis slides_post_sessionTech campmemphis slides_post_session
Tech campmemphis slides_post_session
 

Recently uploaded

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

Microservices lessons from trenches

Editor's Notes

  1. We see something awesome and we get really excited about it and think I want to be like that. I want to do that
  2. Assume everything your system talks to is broken and write it so it can cope!
  3. Don't wait for it to fail
  4. to expose the error count, response times, up time, transaction per second simulate an action or path that a customer or end-user would take. functionality, availability, and response time measures
  5. Don't wait for it to fail
  6. We were getting exception on an endpoint because it was missing a param
  7. Create on the edge service and pass it on to all services
  8. We were missing the big picture
  9. Promotes bad api design
  10. fallbacks, caching Publish the lib on build time and verify the consumers on CI
  11. Too chatty Had to deploy a few services each time Eventual consistency was a pain
  12. Very chatty Transaction boundaries Req/Res
  13. Fault isolation Eventual consistency Asynchrony Who’s in charge of auth? What happens when a new service is created?
  14. Create the cheapest MVP
  15. Doesn’t matter how technically good you are. You can’t win the cultural battle
  16. This actually shows one of the bigger risks with microservices: when it hurts, it really hurts!!
  17. Had to revert my unit tests!! Long manual release processes with sign-offs and approval gates Configuration drift Unfair on your ops team to monitor many services Is your dev team ready to be on-call?