SlideShare uma empresa Scribd logo
1 de 124
Microservices: 
lessons from the trenches 
http://tiny.cc/microservices-lessons 
@MehdiKhalili
Mehdi Khalili 
@MehdiKhalili
http://giphy.com/gifs/parkour-tJLFLygAbaxYk
http://giphy.com/gifs/fail-parkour-dZeSENj3pXT6o
Microservices is 
awesome
Microservices is 
challenging
agenda 
• Introduction 
• Benefits 
• Challenges and tips 
• Resources 
• Questions
Introduction
Monolith
Monolith 
one 
repo
Monolith 
one 
language
Monolith 
one 
database
Monolith 
one 
deployment
Microservices
Microservices 
one 
repo 
per service
Microservices 
one 
language 
per service
Microservices 
one 
persistence engine 
per service
Microservices 
one 
data store 
per service
Microservices 
one 
deployment 
per service
Benefits 
AKA the cool parts!
Scalability
Decentralized 
Data Management
Loose Coupling
Fault Tolerance
Scalable Development
Lower 
Cognitive Load
Technical 
Diversification
Autonomous Teams
Continuous Delivery
Evolutionary Design
http://giphy.com/gifs/win-parkour-12GGmxlQU22fxS
http://giphy.com/gifs/parkour-hardcore-SdtFpqUnHtlbq
http://giphy.com/gifs/fail-parkour-jCi66sK0E770s
Challenges
Fault Tolerance
30 services with 99.9% SLA 
= 432 mins 
= 21.6 hours
99.9% SLA 
30 services 
one day of downtime a month
tightly coupled services
Netflix: 
assumed broken components
design for failure
circuit breaker pattern
circuit breaker
http://martinfowler.com/bliki/images/circuitBreaker/state.png
tightly coupled services
loosely coupled services
contain the failure
fallback 
and 
graceful degradation
https://github.com/Netflix/Hystrix
Hangfire 
hangfire.io
be proactive 
about failure
monitoring endpoints
synthetic monitoring
extensive logging
troubleshooting
correlation id
log aggregation
Gif-y break 
http://www.buzzfeed.com/richardhjames/are-these-the-funniest-gifs-of-all-time
http://www.buzzfeed.com/richardhjames/are-these-the-funniest-gifs-of-all-time
http://www.buzzfeed.com/richardhjames/are-these-the-funniest-gifs-of-all-time
http://www.buzzfeed.com/richardhjames/are-these-the-funniest-gifs-of-all-time
http://www.buzzfeed.com/richardhjames/are-these-the-funniest-gifs-of-all-time
http://giphy.com/gifs/fail-parkour-movement-7SqLFyxYHal6o
http://giphy.com/gifs/fail-parkour-2BuleA8z0C4uY
Decentralized Data Management
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
don’t take 
inter-database dependency
you will lose 
loose coupling
you will lose 
tech diversification
that includes BI too!
use aggregator services 
for cross-cutting logic
don’t use 
distributed transactions
CAP theorem 
http://www.allthingsdistributed.com/2007/12/eventually_consistent.html
eventual consistency
compensating actions
Loose Coupling
consumer 
provider 
consumer
loose coupling could lead to 
violation of contract
runtime failure
consumer driven contracts 
consumer 
provider 
consumer 
contract 
contract
pact 
https://github.com/realestate-com-au/pact
pactNet 
https://github.com/SEEK-Jobs/pact-net
consumer driven contracts 
consumer 
provider 
consumer 
mock contract 
mock 
contract 
<- DSL -> 
<- DSL ->
consumer 
provider 
consumer 
service libraries 
service lib 
service lib
you need the big picture
don’t draw diagrams
use logging for 
populating the big picture
correlation id 
plus 
transaction code
document your services
swagger.io 
http://petstore.swagger.wordnik.com/
swagger and curies for 
self documenting services
"_links": { 
"curies": [ 
{ 
"name": "doc", 
"href": "http://domain/docs/{rel}” 
} 
] 
}
Continuous Delivery
Netflix: 
” you code it, you'll deploy it 
and you'll be on pager-duty.”
DevOps culture
test 
automation
deployment 
automation
infrastructure 
automation
Size Matters
It’s microservices; 
not nanoservices
Arnon Rotem-Gal-Oz: 
“A nanoservice is a service whose 
overhead outweighs its utility.”
nanoservice 
kill me now 
monolith 
Yaaaay! 
Size 
pain
organized around 
Business Capabilities
Ian Cartwright: 
“There should be business and 
architecture isomorphism”
The Culture
“Our release process has 43 
steps”
“We need a DevOps team”
“Test automation might work for 
others but our system is different.”
“We need to stop obsessing 
about quality and focus on 
getting this out soon.”
Conway’s Law: 
“Organizations which design 
systems are constrained to produce 
systems which are copies of the 
communication structures of these 
organizations.”
monolithic apps thrive 
at monolithic organizations
microservices thrive 
at agile organizations
fix your organization first
Wrap up
Microservices is 
awesome
Microservices is 
NOT a silver bullet
apply it to the extent 
where benefits 
outweigh the overheads
takeaway 
Culture, culture, culture!
takeaway 
Size matters
takeaway 
Fault Tolerance
Resources
Thanks 
Q&A 
@MehdiKhalili

Mais conteúdo relacionado

Semelhante a Microservices: lessons from the trenches

The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineDevOps.com
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsAraf Karsh Hamid
 
Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!Ken Owens
 
Dubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architectureDubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architectureHuxing Zhang
 
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 DebtTechWell
 
Media streaming architecture Introduction
Media streaming architecture IntroductionMedia streaming architecture Introduction
Media streaming architecture IntroductionDAEBUM LEE
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolithMarkus Eisele
 
Microservices - How Microservices Have Changed and Why They Matter
Microservices - How Microservices Have Changed and Why They MatterMicroservices - How Microservices Have Changed and Why They Matter
Microservices - How Microservices Have Changed and Why They MatterAlexander Arda
 
Microservices and Serverless for Mega Startups - DevOps IL Meetup
Microservices and Serverless for Mega Startups - DevOps IL MeetupMicroservices and Serverless for Mega Startups - DevOps IL Meetup
Microservices and Serverless for Mega Startups - DevOps IL MeetupBoaz Ziniman
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREAraf Karsh Hamid
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolithMarkus Eisele
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Kim Clark
 
Everything you want to know about microservices
Everything you want to know about microservicesEverything you want to know about microservices
Everything you want to know about microservicesYouness Lasmak
 
20141210 - Microservice Container
20141210 - Microservice Container20141210 - Microservice Container
20141210 - Microservice ContainerJamie (Taka) Wang
 
Real-World, Open Source, End-to-End JavaScript in IoT
Real-World, Open Source, End-to-End JavaScript in IoTReal-World, Open Source, End-to-End JavaScript in IoT
Real-World, Open Source, End-to-End JavaScript in IoTAll Things Open
 
Microservices - when, why and how incontrodevops.it
Microservices  - when, why and how incontrodevops.itMicroservices  - when, why and how incontrodevops.it
Microservices - when, why and how incontrodevops.itGiuseppe Lavagetto
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondUgo Landini
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtDavid Litvak Bruno
 

Semelhante a Microservices: lessons from the trenches (20)

The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD Pipeline
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
 
Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!
 
Dubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architectureDubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architecture
 
Microservices
MicroservicesMicroservices
Microservices
 
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
 
Media streaming architecture Introduction
Media streaming architecture IntroductionMedia streaming architecture Introduction
Media streaming architecture Introduction
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Microservices - How Microservices Have Changed and Why They Matter
Microservices - How Microservices Have Changed and Why They MatterMicroservices - How Microservices Have Changed and Why They Matter
Microservices - How Microservices Have Changed and Why They Matter
 
Microservices and Serverless for Mega Startups - DevOps IL Meetup
Microservices and Serverless for Mega Startups - DevOps IL MeetupMicroservices and Serverless for Mega Startups - DevOps IL Meetup
Microservices and Serverless for Mega Startups - DevOps IL Meetup
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
agile microservices @scaibo
agile microservices @scaiboagile microservices @scaibo
agile microservices @scaibo
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
Everything you want to know about microservices
Everything you want to know about microservicesEverything you want to know about microservices
Everything you want to know about microservices
 
20141210 - Microservice Container
20141210 - Microservice Container20141210 - Microservice Container
20141210 - Microservice Container
 
Real-World, Open Source, End-to-End JavaScript in IoT
Real-World, Open Source, End-to-End JavaScript in IoTReal-World, Open Source, End-to-End JavaScript in IoT
Real-World, Open Source, End-to-End JavaScript in IoT
 
Microservices - when, why and how incontrodevops.it
Microservices  - when, why and how incontrodevops.itMicroservices  - when, why and how incontrodevops.it
Microservices - when, why and how incontrodevops.it
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical Debt
 

Último

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 

Último (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 

Microservices: lessons from the trenches

Notas do Editor

  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. One repo One programming language One database One deployment
  3. One repo One programming language One database One deployment
  4. One repo One programming language One database One deployment
  5. One repo One programming language One database One deployment
  6. One repo One programming language One database One deployment
  7. Each service has One repo One programming language One data store And one deployment
  8. Each service has One repo One programming language One data store And one deployment
  9. Each service has One repo One programming language One data store And one deployment
  10. Each service has One repo One programming language One data store And one deployment
  11. Each service has One repo One programming language One data store And one deployment
  12. Each service has One repo One programming language One data store And one deployment
  13. Scale the bits that require scale.
  14. Encapsulate data with the services No locks =&amp;gt; Scalability Ease of maintenance: 4000 sps and 1000 tables!
  15. allows services and consumers to evolve independently of each other. reimplement a service as long as from outside it looks and behaves the same
  16. It&amp;apos;s not all or nothing unlike monolith
  17. Monolith is one repo not as many merge conflicts not as much consistency force/requirement
  18. Less code =&amp;gt; easier to understand =&amp;gt; faster to run =&amp;gt; easier to maintain
  19. Eliminates any long-term commitment to a technology stack. Use right tool, standards and stack for every service and change it whenever you like.
  20. from scoping out the functionality, to architecting it, to building it, and operating it
  21. Each service can be deployed independently of other services - easier to deploy new versions of services frequently. Less to release each time =&amp;gt; CD =&amp;gt; all the benefits of CD
  22. Smaller services are easier to change and evolve and that facilitates experimentation Create a new microservice to experiment with an idea in isolation of the rest of the system. If it flies, keep it. If it doesn&amp;apos;t, kill it.
  23. This actually shows one of the bigger risks with microservices: when it hurts, it really hurts!!
  24. Akamai NetStorage
  25. Assume everything your system talks to is broken and write it so it can cope!
  26. when one of your dependencies stops responding, you need to stop calling it for a little while.
  27. circuit breaker
  28. Fire &amp; forget Pub/sub Contain the failure
  29. Hitting a different URL Caching Returning a canned response (null)
  30. circuit breaker with fallbacks and graceful degradation monitoring
  31. Guaranteed fire &amp; forget background processing
  32. Don&amp;apos;t wait for it to fail before you fix it
  33. to expose the error count, response times, up time, transaction per second
  34. simulate an action or path that a customer or end-user would take. continuously monitor functionality, availability, and response time measures
  35. Helps with troubleshooting and also with health monitoring
  36. We were getting exception on an endpoint because it was missing a param Where did the traffic came in from?
  37. you’ll lose most of microservices benefits
  38. We changed a stored procedure’s param and it broke BI
  39. In a monolithic app you have transactions You will have slower transactions, and might create system wide locking!
  40. We were introducing soft deletes and we didn’t know what would be impacted
  41. Pact: DSL, generates mock and plays back the request for the provider
  42. Consumer codes against a mock and provider complies with contracts Unit testing
  43. circuit breaker Fallback graceful degradation caching
  44. so when you want to change the behavior of something you know what will be impacted
  45. Extensive logging Correlation id Transaction code Log aggregation
  46. Extensive logging Correlation id Transaction code Log aggregation
  47. It will be resisted by operations and change management Resistance by ops
  48. And you should have a bounded context representing each capability keep to your bounded context
  49. A business person should be able to look at a high level map of the architecture and see the business represented there and similarly as technologists we should be able to look at the business and see the architecture represented there.
  50. The microservices culture
  51. Explain what’s wrong with this
  52. Not organizations doing agile; but agile organization
  53. Micro management Long release process Hard to sell unit testing