SlideShare a Scribd company logo
1 of 19
Microservices from the
Trenches
Adrian Bolboacă
A preachy stream of consciousness about
business, analysis, architecture and code
Architecture - Strategy
No strategy is perfect
No strategy makes sense without the detailed tactics.
Programming - Tactics
Difficult to have an overview when being only tactical
Common mistake: starting with tactics without having a strategy
There is no silver bullet
There is no recipe
There can be guidelines.
Microservices is a strategy useful for
● Parallelizing work for faster time to market (James Lewis) -
- it needs more architecting and planning up-front
● Non-homogenous set of programming languages (James Lewis)
- you can write each microservice is any language
● Increased scalability, especially with cloud computing (Adrian Cockroft)
● Parallel versioning (Fred George)
● Self-contained systems (Sam Newman)
● Self-healing systems
Microservices is a bad strategy when
● The boss wants the new hype
● There is no need to scale
● Only one portion of the big ball of mud (monolith) needs to scale
● The team is not proficient enough in architecture and domain modelling
● There is not enough organizational support for a paradigm change
Risks with microservices
● Dependency hell, when not architected well
● Increased operational costs
● Difficult debugging
● More complex security
● Distributed systems
Exercise - 5 minutes
Draw your system as it would tell a story about what it does
No technical terms allowed, only business.
Traps
Traps 1/2
● Difficult to understand where to "cut" the domain
● May generate systems more difficult to work with than a monolith because of
shotgun architecture
● Using any programming language and any technology can lead to having all of
them in a few years, and nobody knows anymore how to change that (Spotify)
● Less focus on unit testing may lead to no automated testing, and relying on
production testing (client testing)
Traps 2/2
● Starting with no architecture (because we are agile), and rewriting the system
every 2-3 years to fix it
● Macro-micro-services: not small enough -> all is dependent by all others
● Calling microservices directly instead of using events / messages
● Sharing data in-between microservices (not self-contained -> high coupling)
Some Theory
Conway's Law
"organizations which design systems (in the broad sense used here) are constrained to
produce designs which are copies of the communication structures of these
organizations" Melvin Conway, “How do committees invent”, 1968 (Wikipedia)
● Microservices can take advantage of Conway’s law
● Complete decoupling => less communication => independent, parallel
development
● Microservices enable developing a product with multiple teams in parallel
CAP Theorem
“It is impossible for a distributed data store to simultaneously provide more than two
out of the following three guarantees:
Consistency: Every read receives the most recent write or an error
Availability: Every request receives a (non-error) response – without the guarantee
that it contains the most recent write
Partition tolerance: The system continues to operate despite an arbitrary number of
messages being dropped (or delayed) by the network between nodes” (Wikipedia)
CAP Theorem -> Eventual Consistency
Basically Available: basic reading and writing operations are available as much as
possible, but without any kind of consistency guarantees
Soft state: without consistency guarantees, after some amount of time, we only
have some probability of knowing the state, since it may not yet have converged
Eventually consistent: If the system is functioning and we wait long enough after
any given set of inputs, we will eventually be able to know what the state of the
database is, and so any further reads will be consistent with our expectations
(Wikipedia)
Microservices hype made
programmers more aware of
methods to modularise large
monolithic systems, because of
stricter component boundaries
Advice
1. Add more importance of principles like modularity, loose coupling, high
cohesion, changeability, scalability, fault tolerance, resilience, testing, etc.
2. Never re-architect a system into microservices without making domain
modelling first. Delete and repeat. A few times. Use Domain Modelling Kata
3. Always invite all the roles when modelling your domain
architect, product, programmer, tester, security, ops, etc
4. Never re-architect at once the whole the system.
Extract parts, one by one and always ask: is it enough? Can we stop?
5. Logging & Error Management: start having them from the very beginning
What's Next
1 Practice
Architectural Kata - exercise
your architecture post
Domain Modelling Kata -
exercise your modelling post
Architecting Microservices
workshop shameless
promotion
2 Read
Sam Newman - Building
Microservices book
James Lewis - Microservices
Architecture article
Eric Evans - Domain Driven
Design book
3 Watch
Martin Fowler - Microservices
video
James Lewis - Systems that
are #neverdone video
Chris Richardson –
Microservice Patterns video
Adrian Bolboacă
Blog https://blog.adrianbolboaca.ro
Youtube https://youtube.com/adibolboaca
Think. Design. Work Smart.
https://www.youtube.com/channel/UCSEkgmzFb4PnaGAVXt
K8dGA
Works at https://mozaicworks.com
Follow-up adrian.bolboaca@mozaicworks.com
Follow-up https://twitter.com/adibolb
VP of Innovation in Education and Technology @Mozaic Works
Thank you

More Related Content

More from Adi Bolboaca

Coderetreat @AgileFinland Tampere 2014 11 12
Coderetreat @AgileFinland Tampere 2014 11 12Coderetreat @AgileFinland Tampere 2014 11 12
Coderetreat @AgileFinland Tampere 2014 11 12Adi Bolboaca
 
Refactoring Dojo @AgileWorks Bucharest 21 May 2014
Refactoring Dojo @AgileWorks Bucharest 21 May 2014Refactoring Dojo @AgileWorks Bucharest 21 May 2014
Refactoring Dojo @AgileWorks Bucharest 21 May 2014Adi Bolboaca
 
Sherlock Holmes and Pairing @Romanian Testing Conference 2014 05 15
Sherlock Holmes and Pairing @Romanian Testing Conference 2014 05 15Sherlock Holmes and Pairing @Romanian Testing Conference 2014 05 15
Sherlock Holmes and Pairing @Romanian Testing Conference 2014 05 15Adi Bolboaca
 
TDD Mini Workshop @ Bucharest JUG 2014 04 24
TDD Mini Workshop @ Bucharest JUG 2014 04 24TDD Mini Workshop @ Bucharest JUG 2014 04 24
TDD Mini Workshop @ Bucharest JUG 2014 04 24Adi Bolboaca
 
Coderetreat Slides on the Global Day of Coderetreat, Bucharest, December 2013
Coderetreat Slides on the Global Day of Coderetreat, Bucharest, December 2013Coderetreat Slides on the Global Day of Coderetreat, Bucharest, December 2013
Coderetreat Slides on the Global Day of Coderetreat, Bucharest, December 2013Adi Bolboaca
 
Sherlock Holmes and Pairing @Bucharest JUG 2013 11 21
Sherlock Holmes and Pairing @Bucharest JUG 2013 11 21Sherlock Holmes and Pairing @Bucharest JUG 2013 11 21
Sherlock Holmes and Pairing @Bucharest JUG 2013 11 21Adi Bolboaca
 
Sherlock Holmes and Pairing @Wlidcard Conference 2013 09 13
Sherlock Holmes and Pairing @Wlidcard Conference 2013 09 13Sherlock Holmes and Pairing @Wlidcard Conference 2013 09 13
Sherlock Holmes and Pairing @Wlidcard Conference 2013 09 13Adi Bolboaca
 
Code retreat @AgileWorks Bucharest 7 September 2013
Code retreat @AgileWorks Bucharest 7 September 2013Code retreat @AgileWorks Bucharest 7 September 2013
Code retreat @AgileWorks Bucharest 7 September 2013Adi Bolboaca
 
Coderetreat @AgileWorks Bucharest 2012 07 06
Coderetreat @AgileWorks Bucharest 2012 07 06 Coderetreat @AgileWorks Bucharest 2012 07 06
Coderetreat @AgileWorks Bucharest 2012 07 06 Adi Bolboaca
 
Legacy Coderetreat @Budapest 2013 02 16
Legacy Coderetreat @Budapest 2013 02 16Legacy Coderetreat @Budapest 2013 02 16
Legacy Coderetreat @Budapest 2013 02 16Adi Bolboaca
 
Coderetreat @Sofia 2012 10 27
Coderetreat @Sofia 2012 10 27Coderetreat @Sofia 2012 10 27
Coderetreat @Sofia 2012 10 27Adi Bolboaca
 
Coderetreat @Turku 2012 10 20
Coderetreat @Turku 2012 10 20 Coderetreat @Turku 2012 10 20
Coderetreat @Turku 2012 10 20 Adi Bolboaca
 
Coderetreat @Sibiu 2012 08 18
Coderetreat @Sibiu 2012 08 18Coderetreat @Sibiu 2012 08 18
Coderetreat @Sibiu 2012 08 18Adi Bolboaca
 
Coderetreat @Vienna 2013 06 08
Coderetreat @Vienna 2013 06 08Coderetreat @Vienna 2013 06 08
Coderetreat @Vienna 2013 06 08Adi Bolboaca
 

More from Adi Bolboaca (14)

Coderetreat @AgileFinland Tampere 2014 11 12
Coderetreat @AgileFinland Tampere 2014 11 12Coderetreat @AgileFinland Tampere 2014 11 12
Coderetreat @AgileFinland Tampere 2014 11 12
 
Refactoring Dojo @AgileWorks Bucharest 21 May 2014
Refactoring Dojo @AgileWorks Bucharest 21 May 2014Refactoring Dojo @AgileWorks Bucharest 21 May 2014
Refactoring Dojo @AgileWorks Bucharest 21 May 2014
 
Sherlock Holmes and Pairing @Romanian Testing Conference 2014 05 15
Sherlock Holmes and Pairing @Romanian Testing Conference 2014 05 15Sherlock Holmes and Pairing @Romanian Testing Conference 2014 05 15
Sherlock Holmes and Pairing @Romanian Testing Conference 2014 05 15
 
TDD Mini Workshop @ Bucharest JUG 2014 04 24
TDD Mini Workshop @ Bucharest JUG 2014 04 24TDD Mini Workshop @ Bucharest JUG 2014 04 24
TDD Mini Workshop @ Bucharest JUG 2014 04 24
 
Coderetreat Slides on the Global Day of Coderetreat, Bucharest, December 2013
Coderetreat Slides on the Global Day of Coderetreat, Bucharest, December 2013Coderetreat Slides on the Global Day of Coderetreat, Bucharest, December 2013
Coderetreat Slides on the Global Day of Coderetreat, Bucharest, December 2013
 
Sherlock Holmes and Pairing @Bucharest JUG 2013 11 21
Sherlock Holmes and Pairing @Bucharest JUG 2013 11 21Sherlock Holmes and Pairing @Bucharest JUG 2013 11 21
Sherlock Holmes and Pairing @Bucharest JUG 2013 11 21
 
Sherlock Holmes and Pairing @Wlidcard Conference 2013 09 13
Sherlock Holmes and Pairing @Wlidcard Conference 2013 09 13Sherlock Holmes and Pairing @Wlidcard Conference 2013 09 13
Sherlock Holmes and Pairing @Wlidcard Conference 2013 09 13
 
Code retreat @AgileWorks Bucharest 7 September 2013
Code retreat @AgileWorks Bucharest 7 September 2013Code retreat @AgileWorks Bucharest 7 September 2013
Code retreat @AgileWorks Bucharest 7 September 2013
 
Coderetreat @AgileWorks Bucharest 2012 07 06
Coderetreat @AgileWorks Bucharest 2012 07 06 Coderetreat @AgileWorks Bucharest 2012 07 06
Coderetreat @AgileWorks Bucharest 2012 07 06
 
Legacy Coderetreat @Budapest 2013 02 16
Legacy Coderetreat @Budapest 2013 02 16Legacy Coderetreat @Budapest 2013 02 16
Legacy Coderetreat @Budapest 2013 02 16
 
Coderetreat @Sofia 2012 10 27
Coderetreat @Sofia 2012 10 27Coderetreat @Sofia 2012 10 27
Coderetreat @Sofia 2012 10 27
 
Coderetreat @Turku 2012 10 20
Coderetreat @Turku 2012 10 20 Coderetreat @Turku 2012 10 20
Coderetreat @Turku 2012 10 20
 
Coderetreat @Sibiu 2012 08 18
Coderetreat @Sibiu 2012 08 18Coderetreat @Sibiu 2012 08 18
Coderetreat @Sibiu 2012 08 18
 
Coderetreat @Vienna 2013 06 08
Coderetreat @Vienna 2013 06 08Coderetreat @Vienna 2013 06 08
Coderetreat @Vienna 2013 06 08
 

Recently uploaded

Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024MulesoftMunichMeetup
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfDeskTrack
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionWave PLM
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)Max Lee
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMarkus Moeller
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdftimtebeek1
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationHelp Desk Migration
 
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfQ-Advise
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabbereGrabber
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesNeo4j
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfWSO2
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Chirag Panchal
 
Malaysia E-Invoice digital signature docpptx
Malaysia E-Invoice digital signature docpptxMalaysia E-Invoice digital signature docpptx
Malaysia E-Invoice digital signature docpptxMok TH
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignNeo4j
 
Sourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing ManufacturerSourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing ManufacturerWave PLM
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfSrushith Repakula
 

Recently uploaded (20)

Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion Production
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
Malaysia E-Invoice digital signature docpptx
Malaysia E-Invoice digital signature docpptxMalaysia E-Invoice digital signature docpptx
Malaysia E-Invoice digital signature docpptx
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
Sourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing ManufacturerSourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing Manufacturer
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 

2020 0116 Microservices from the trenches

  • 1. Microservices from the Trenches Adrian Bolboacă A preachy stream of consciousness about business, analysis, architecture and code
  • 2. Architecture - Strategy No strategy is perfect No strategy makes sense without the detailed tactics. Programming - Tactics Difficult to have an overview when being only tactical Common mistake: starting with tactics without having a strategy
  • 3. There is no silver bullet There is no recipe There can be guidelines.
  • 4. Microservices is a strategy useful for ● Parallelizing work for faster time to market (James Lewis) - - it needs more architecting and planning up-front ● Non-homogenous set of programming languages (James Lewis) - you can write each microservice is any language ● Increased scalability, especially with cloud computing (Adrian Cockroft) ● Parallel versioning (Fred George) ● Self-contained systems (Sam Newman) ● Self-healing systems
  • 5. Microservices is a bad strategy when ● The boss wants the new hype ● There is no need to scale ● Only one portion of the big ball of mud (monolith) needs to scale ● The team is not proficient enough in architecture and domain modelling ● There is not enough organizational support for a paradigm change
  • 6. Risks with microservices ● Dependency hell, when not architected well ● Increased operational costs ● Difficult debugging ● More complex security ● Distributed systems
  • 7. Exercise - 5 minutes Draw your system as it would tell a story about what it does No technical terms allowed, only business.
  • 9. Traps 1/2 ● Difficult to understand where to "cut" the domain ● May generate systems more difficult to work with than a monolith because of shotgun architecture ● Using any programming language and any technology can lead to having all of them in a few years, and nobody knows anymore how to change that (Spotify) ● Less focus on unit testing may lead to no automated testing, and relying on production testing (client testing)
  • 10. Traps 2/2 ● Starting with no architecture (because we are agile), and rewriting the system every 2-3 years to fix it ● Macro-micro-services: not small enough -> all is dependent by all others ● Calling microservices directly instead of using events / messages ● Sharing data in-between microservices (not self-contained -> high coupling)
  • 12. Conway's Law "organizations which design systems (in the broad sense used here) are constrained to produce designs which are copies of the communication structures of these organizations" Melvin Conway, “How do committees invent”, 1968 (Wikipedia) ● Microservices can take advantage of Conway’s law ● Complete decoupling => less communication => independent, parallel development ● Microservices enable developing a product with multiple teams in parallel
  • 13. CAP Theorem “It is impossible for a distributed data store to simultaneously provide more than two out of the following three guarantees: Consistency: Every read receives the most recent write or an error Availability: Every request receives a (non-error) response – without the guarantee that it contains the most recent write Partition tolerance: The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes” (Wikipedia)
  • 14. CAP Theorem -> Eventual Consistency Basically Available: basic reading and writing operations are available as much as possible, but without any kind of consistency guarantees Soft state: without consistency guarantees, after some amount of time, we only have some probability of knowing the state, since it may not yet have converged Eventually consistent: If the system is functioning and we wait long enough after any given set of inputs, we will eventually be able to know what the state of the database is, and so any further reads will be consistent with our expectations (Wikipedia)
  • 15. Microservices hype made programmers more aware of methods to modularise large monolithic systems, because of stricter component boundaries
  • 16. Advice 1. Add more importance of principles like modularity, loose coupling, high cohesion, changeability, scalability, fault tolerance, resilience, testing, etc. 2. Never re-architect a system into microservices without making domain modelling first. Delete and repeat. A few times. Use Domain Modelling Kata 3. Always invite all the roles when modelling your domain architect, product, programmer, tester, security, ops, etc 4. Never re-architect at once the whole the system. Extract parts, one by one and always ask: is it enough? Can we stop? 5. Logging & Error Management: start having them from the very beginning
  • 17. What's Next 1 Practice Architectural Kata - exercise your architecture post Domain Modelling Kata - exercise your modelling post Architecting Microservices workshop shameless promotion 2 Read Sam Newman - Building Microservices book James Lewis - Microservices Architecture article Eric Evans - Domain Driven Design book 3 Watch Martin Fowler - Microservices video James Lewis - Systems that are #neverdone video Chris Richardson – Microservice Patterns video
  • 18. Adrian Bolboacă Blog https://blog.adrianbolboaca.ro Youtube https://youtube.com/adibolboaca Think. Design. Work Smart. https://www.youtube.com/channel/UCSEkgmzFb4PnaGAVXt K8dGA Works at https://mozaicworks.com Follow-up adrian.bolboaca@mozaicworks.com Follow-up https://twitter.com/adibolb VP of Innovation in Education and Technology @Mozaic Works

Editor's Notes

  1. Debrief: if your system appears coherent, it was designed with business in mind