microservices: lessons from the trenches
TRANSCRIPT
![Page 1: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/1.jpg)
![Page 2: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/2.jpg)
Microservices: lessons from the trenches
@MehdiKhalili
http://tiny.cc/microservices-lessons
![Page 3: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/3.jpg)
Mehdi Khalili@MehdiKhalili
![Page 4: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/4.jpg)
http://giphy.com/gifs/parkour-tJLFLygAbaxYk
![Page 5: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/5.jpg)
http://giphy.com/gifs/fail-parkour-dZeSENj3pXT6o
![Page 6: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/6.jpg)
![Page 7: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/7.jpg)
Microservices is awesome
![Page 8: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/8.jpg)
Microservices is challenging
![Page 9: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/9.jpg)
agenda
• Introduction
• Benefits
• Challenges and tips
• Resources
• Questions
![Page 10: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/10.jpg)
Introduction
![Page 11: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/11.jpg)
Monolith
![Page 12: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/12.jpg)
Monolith
one repo
![Page 13: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/13.jpg)
Monolith
one language
![Page 14: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/14.jpg)
Monolith
one database
![Page 15: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/15.jpg)
Monolith
one deployment
![Page 16: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/16.jpg)
Microservices
![Page 17: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/17.jpg)
Microservices
one repo
per service
![Page 18: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/18.jpg)
Microservices
one language
per service
![Page 19: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/19.jpg)
Microservices
one persistence engine
per service
![Page 20: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/20.jpg)
Microservices
one data storeper service
![Page 21: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/21.jpg)
Microservices
one deploymentper service
![Page 22: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/22.jpg)
BenefitsAKA the cool parts!
![Page 23: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/23.jpg)
Scalability
![Page 24: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/24.jpg)
Decentralized
Data Management
![Page 25: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/25.jpg)
Loose Coupling
![Page 26: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/26.jpg)
Fault Tolerance
![Page 27: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/27.jpg)
Scalable Development
![Page 28: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/28.jpg)
Lower
Cognitive Load
![Page 29: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/29.jpg)
Technical Diversification
![Page 30: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/30.jpg)
Autonomous Teams
![Page 31: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/31.jpg)
Continuous Delivery
![Page 32: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/32.jpg)
Evolutionary Design
![Page 33: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/33.jpg)
http://giphy.com/gifs/win-parkour-12GGmxlQU22fxS
![Page 34: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/34.jpg)
http://giphy.com/gifs/parkour-hardcore-SdtFpqUnHtlbq
![Page 35: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/35.jpg)
http://giphy.com/gifs/fail-parkour-jCi66sK0E770s
![Page 36: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/36.jpg)
Challenges
![Page 37: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/37.jpg)
Fault Tolerance
![Page 38: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/38.jpg)
30 services with 99.9% SLA
= 432 mins
= 21.6 hours
![Page 39: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/39.jpg)
99.9% SLA
30 services
one day of downtime a month
![Page 40: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/40.jpg)
tightly coupled services
![Page 41: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/41.jpg)
Netflix:
assumed broken components
![Page 42: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/42.jpg)
design for failure
![Page 43: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/43.jpg)
circuit breaker pattern
![Page 44: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/44.jpg)
circuit breaker
![Page 45: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/45.jpg)
http://martinfowler.com/bliki/images/circuitBreaker/state.png
![Page 46: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/46.jpg)
tightly coupled services
![Page 47: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/47.jpg)
loosely coupled services
![Page 48: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/48.jpg)
contain the failure
![Page 49: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/49.jpg)
fallback
and
graceful degradation
![Page 50: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/50.jpg)
https://github.com/Netflix/Hystrix
![Page 51: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/51.jpg)
hangfire.io
Hangfire
![Page 52: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/52.jpg)
be proactive
about failure
![Page 53: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/53.jpg)
monitoring endpoints
![Page 54: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/54.jpg)
synthetic monitoring
![Page 55: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/55.jpg)
extensive logging
![Page 56: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/56.jpg)
troubleshooting
![Page 57: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/57.jpg)
correlation id
![Page 58: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/58.jpg)
log aggregation
![Page 59: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/59.jpg)
Gif-y break
![Page 60: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/60.jpg)
http://www.buzzfeed.com/richardhjames/are-these-the-funniest-gifs-of-all-time
![Page 61: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/61.jpg)
http://www.buzzfeed.com/richardhjames/are-these-the-funniest-gifs-of-all-time
![Page 62: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/62.jpg)
http://www.buzzfeed.com/richardhjames/are-these-the-funniest-gifs-of-all-time
![Page 63: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/63.jpg)
http://www.buzzfeed.com/richardhjames/are-these-the-funniest-gifs-of-all-time
![Page 64: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/64.jpg)
http://www.buzzfeed.com/richardhjames/are-these-the-funniest-gifs-of-all-time
![Page 65: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/65.jpg)
http://giphy.com/gifs/fail-parkour-movement-7SqLFyxYHal6o
![Page 66: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/66.jpg)
http://giphy.com/gifs/fail-parkour-2BuleA8z0C4uY
![Page 67: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/67.jpg)
Decentralized Data Management
![Page 68: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/68.jpg)
Werner Vogels:
"No direct database access is
allowed from outside the service,
and there’s no data sharing
among the services."http://queue.acm.org/detail.cfm?id=1142065
![Page 69: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/69.jpg)
don’t take
inter-database dependency
![Page 70: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/70.jpg)
you will lose
loose coupling
![Page 71: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/71.jpg)
you will lose
tech diversification
![Page 72: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/72.jpg)
that includes BI too!
![Page 73: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/73.jpg)
use aggregator services
for cross-cutting logic
![Page 74: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/74.jpg)
don’t use
distributed transactions
![Page 75: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/75.jpg)
CAP theoremhttp://www.allthingsdistributed.com/2007/12/eventually_consistent.html
![Page 76: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/76.jpg)
eventual consistency
![Page 77: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/77.jpg)
compensating actions
![Page 78: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/78.jpg)
Loose Coupling
![Page 79: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/79.jpg)
consumer
provider
consumer
![Page 80: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/80.jpg)
loose coupling could lead to
violation of contract
![Page 81: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/81.jpg)
runtime failure
![Page 82: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/82.jpg)
consumer
provider
consumer
consumer driven contracts
contract
contract
![Page 83: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/83.jpg)
pacthttps://github.com/realestate-com-au/pact
![Page 84: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/84.jpg)
https://github.com/SEEK-Jobs/pact-net
pactNet
![Page 85: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/85.jpg)
consumer
provider
consumer
consumer driven contracts
mock
mock contract
contract
<- DSL ->
<- DSL ->
![Page 86: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/86.jpg)
consumer
provider
consumer
service libraries
service lib
service lib
![Page 87: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/87.jpg)
you need the big picture
![Page 88: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/88.jpg)
don’t draw diagrams
![Page 89: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/89.jpg)
use logging for
populating the big picture
![Page 90: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/90.jpg)
correlation id plus
transaction code
![Page 91: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/91.jpg)
document your services
![Page 92: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/92.jpg)
swagger.io
http://petstore.swagger.wordnik.com/
![Page 93: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/93.jpg)
swagger and curies for
self documenting services
![Page 94: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/94.jpg)
"_links": { "curies": [ { "name": "doc", "href": "http://domain/docs/{rel}” } ]}
![Page 95: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/95.jpg)
Continuous Delivery
![Page 96: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/96.jpg)
Netflix:
” you code it, you'll deploy it
and you'll be on pager-duty.”
![Page 97: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/97.jpg)
DevOps culture
![Page 98: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/98.jpg)
test
automation
![Page 99: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/99.jpg)
deployment
automation
![Page 100: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/100.jpg)
infrastructure
automation
![Page 101: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/101.jpg)
Size Matters
![Page 102: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/102.jpg)
It’s microservices;
not nanoservices
![Page 103: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/103.jpg)
Arnon Rotem-Gal-Oz:
“A nanoservice is a service whose
overhead outweighs its utility.”
![Page 104: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/104.jpg)
nanoservice
kill
me
now
monolith
Yaa
aay!
Size
pain
![Page 105: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/105.jpg)
organized around
Business Capabilities
![Page 106: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/106.jpg)
Ian Cartwright:
“There should be business and
architecture isomorphism”
![Page 107: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/107.jpg)
The Culture
![Page 108: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/108.jpg)
“Our release process has 43
steps”
![Page 109: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/109.jpg)
“We need a DevOps team”
![Page 110: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/110.jpg)
“Test automation might work for
others but our system is different.”
![Page 111: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/111.jpg)
“We need to stop obsessing
about quality and focus on
getting this out soon.”
![Page 112: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/112.jpg)
Conway’s Law:
“Organizations which design
systems are constrained to produce
systems which are copies of the
communication structures of these
organizations.”
![Page 113: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/113.jpg)
monolithic apps thrive
at monolithic organizations
![Page 114: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/114.jpg)
microservices thrive
at agile organizations
![Page 115: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/115.jpg)
fix your organization first
![Page 116: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/116.jpg)
Wrap up
![Page 117: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/117.jpg)
Microservices is
awesome
![Page 118: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/118.jpg)
Microservices is
NOT a silver bullet
![Page 119: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/119.jpg)
apply it to the extent
where benefits
outweigh the overheads
![Page 120: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/120.jpg)
takeaway
Culture, culture, culture!
![Page 121: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/121.jpg)
takeaway
Size matters
![Page 122: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/122.jpg)
takeaway
Fault Tolerance
![Page 123: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/123.jpg)
Resources
![Page 124: Microservices: lessons from the trenches](https://reader034.vdocument.in/reader034/viewer/2022052509/55a163451a28abba408b46ed/html5/thumbnails/124.jpg)
Thanks
Q&A
@MehdiKhalili