Microservices lessons from trenches

Mehdi Khalili
Mehdi KhaliliSenior Consultant at Readify
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 lessons from trenches
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/
1 of 64

Recommended

Microservices: lessons from the trenches by
Microservices: lessons from the trenchesMicroservices: lessons from the trenches
Microservices: lessons from the trenchesMehdi Khalili
1.9K views124 slides
Microservices the Good Bad and the Ugly by
Microservices the Good Bad and the UglyMicroservices the Good Bad and the Ugly
Microservices the Good Bad and the UglyAdrian Cockcroft
9.6K views105 slides
Cloud-Native Roadshow - Microservices - Toronto by
Cloud-Native Roadshow - Microservices - TorontoCloud-Native Roadshow - Microservices - Toronto
Cloud-Native Roadshow - Microservices - TorontoVMware Tanzu
532 views28 slides
The future of Activiti Cloud @ DevCon 2019 by
The future of Activiti Cloud @ DevCon 2019The future of Activiti Cloud @ DevCon 2019
The future of Activiti Cloud @ DevCon 2019Mauricio (Salaboy) Salatino
3.1K views36 slides
NECOS Industrial Workshop Introduction by Prof. Christian Rothenberg (UNICAMP) by
NECOS Industrial Workshop Introduction by Prof. Christian Rothenberg (UNICAMP)NECOS Industrial Workshop Introduction by Prof. Christian Rothenberg (UNICAMP)
NECOS Industrial Workshop Introduction by Prof. Christian Rothenberg (UNICAMP)Christian Esteve Rothenberg
113 views15 slides
Microxchg Analyzing Response Time Distributions for Microservices by
Microxchg Analyzing Response Time Distributions for MicroservicesMicroxchg Analyzing Response Time Distributions for Microservices
Microxchg Analyzing Response Time Distributions for MicroservicesAdrian Cockcroft
9.1K views58 slides

More Related Content

Viewers also liked

Automated UI testing done right (DDDSydney) by
Automated UI testing done right (DDDSydney)Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)Mehdi Khalili
17.9K views143 slides
Automated UI Testing Done Right (QMSDNUG) by
Automated UI Testing Done Right (QMSDNUG)Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)Mehdi Khalili
2.5K views154 slides
CQRS and Event Sourcing with Akka, Cassandra and RabbitMQ by
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 RabbitMQMiel Donkers
7.9K views29 slides
codecentric AG: CQRS and Event Sourcing Applications with Cassandra by
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 CassandraDataStax Academy
14.8K views38 slides
A pattern language for microservices (#gluecon #gluecon2016) by
A pattern language for microservices (#gluecon #gluecon2016)A pattern language for microservices (#gluecon #gluecon2016)
A pattern language for microservices (#gluecon #gluecon2016)Chris Richardson
16.1K views42 slides
Microservices + Events + Docker = A Perfect Trio (dockercon) by
Microservices + Events + Docker = A Perfect Trio (dockercon)Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)Chris Richardson
27.7K views53 slides

Viewers also liked(6)

Automated UI testing done right (DDDSydney) by Mehdi Khalili
Automated UI testing done right (DDDSydney)Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)
Mehdi Khalili17.9K views
Automated UI Testing Done Right (QMSDNUG) by Mehdi Khalili
Automated UI Testing Done Right (QMSDNUG)Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)
Mehdi Khalili2.5K views
CQRS and Event Sourcing with Akka, Cassandra and RabbitMQ by Miel Donkers
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 Donkers7.9K views
codecentric AG: CQRS and Event Sourcing Applications with Cassandra by DataStax Academy
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 Academy14.8K views
A pattern language for microservices (#gluecon #gluecon2016) by Chris Richardson
A pattern language for microservices (#gluecon #gluecon2016)A pattern language for microservices (#gluecon #gluecon2016)
A pattern language for microservices (#gluecon #gluecon2016)
Chris Richardson16.1K views
Microservices + Events + Docker = A Perfect Trio (dockercon) by Chris Richardson
Microservices + Events + Docker = A Perfect Trio (dockercon)Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)
Chris Richardson27.7K views

Similar to Microservices lessons from trenches

Making sense of microservices, service mesh, and serverless by
Making sense of microservices, service mesh, and serverlessMaking sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverlessChristian Posta
691 views54 slides
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb by
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 HoneycombDaniel Zivkovic
458 views212 slides
From Monoliths to Services: Paying Your Technical Debt by
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtTechWell
327 views100 slides
Sps toronto introduction to azure functions microsoft flow by
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowVincent Biret
326 views37 slides
Cloud Foundry API for Fun and Ops by
Cloud Foundry API for Fun and OpsCloud Foundry API for Fun and Ops
Cloud Foundry API for Fun and OpsChris DeLashmutt
1.1K views65 slides
Serverless: What happens next will blow your mind! by
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
68 views13 slides

Similar to Microservices lessons from trenches(20)

Making sense of microservices, service mesh, and serverless by Christian Posta
Making sense of microservices, service mesh, and serverlessMaking sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverless
Christian Posta691 views
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb by Daniel Zivkovic
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 Zivkovic458 views
From Monoliths to Services: Paying Your Technical Debt by TechWell
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
TechWell327 views
Sps toronto introduction to azure functions microsoft flow by Vincent Biret
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flow
Vincent Biret326 views
Cloud Foundry API for Fun and Ops by Chris DeLashmutt
Cloud Foundry API for Fun and OpsCloud Foundry API for Fun and Ops
Cloud Foundry API for Fun and Ops
Chris DeLashmutt1.1K views
Serverless: What happens next will blow your mind! by Chris Williams
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 Williams68 views
Serverless Toronto helps Startups by Daniel Zivkovic
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps Startups
Daniel Zivkovic598 views
Building and evolving microservices by Ilias Bartolini
Building and evolving microservicesBuilding and evolving microservices
Building and evolving microservices
Ilias Bartolini200 views
Building and evolving microservices: lessons from the frontlines - Ilias Bart... by Codemotion
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...
Codemotion175 views
QCon 2015 - Microservices Track Notes by Abdul Basit Munda
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
Abdul Basit Munda541 views
6 ways DevOps helped PrepSportswear move from monolith to microservices by Dynatrace
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
Dynatrace562 views
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl... by TriNimbus
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...
TriNimbus13.1K views
Making operations visible - devopsdays tokyo 2013 by Nick Galbreath
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013
Nick Galbreath13.8K views
Making operations visible - Nick Gallbreath by Devopsdays
Making operations visible - Nick GallbreathMaking operations visible - Nick Gallbreath
Making operations visible - Nick Gallbreath
Devopsdays1.5K views
The DevOps Revolution And Beyond... by Chris Sterling
The DevOps Revolution And Beyond...The DevOps Revolution And Beyond...
The DevOps Revolution And Beyond...
Chris Sterling1.1K views
Machine Learning with PyCaret by Databricks
Machine Learning with PyCaretMachine Learning with PyCaret
Machine Learning with PyCaret
Databricks1.1K views
Tech campmemphis slides_post_session by Stewart Whaley
Tech campmemphis slides_post_sessionTech campmemphis slides_post_session
Tech campmemphis slides_post_session
Stewart Whaley739 views

Recently uploaded

Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITShapeBlue
206 views8 slides
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates by
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesShapeBlue
252 views15 slides
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueShapeBlue
263 views23 slides
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueShapeBlue
138 views15 slides
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsShapeBlue
238 views13 slides
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...James Anderson
160 views32 slides

Recently uploaded(20)

Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue206 views
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates by ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue252 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue263 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue138 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue238 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson160 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue194 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue297 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue139 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue218 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue166 views
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O... by ShapeBlue
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
ShapeBlue132 views
Business Analyst Series 2023 - Week 4 Session 8 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10123 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue222 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue159 views
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue184 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...

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?