@mauroservienti
microservices
and
pineapple on pizza
what do they have in common?
dos and don'ts
@mauroservienti
All I wanna do
when I wake up in
the morning is…
Rosanna, Toto. Toto IV
@mauroservienti
Buy a "Banana Protector"
@mauroservienti
Buy a "Banana Protector"
@mauroservienti
Shopping Cart Microservice
[ list-of ]
- Item ID
- Price
- Quantity
- Inventory
- Name
- Description
Shopping Cart
@mauroservienti
please, welcome the
business
@mauroservienti
Business requirements (#1)
@mauroservienti
Products & Shopping Cart Microservices
[ list-of ]
- Item ID
- Price
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
Products
@mauroservienti
Products & Shopping Cart Microservices
[ list-of ]
- Item ID
- Price
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
Products
copy
@mauroservienti
Business requirements (#2)
@mauroservienti
Products & Shopping Cart Microservices
[ list-of ]
- Item ID
- Price
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
- Inventory
Products
@mauroservienti
Products & Shopping Cart Microservices
[ list-of ]
- Item ID
- Price
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
- Inventory
Products
copy
copy
@mauroservienti
Business requirements (#3)
@mauroservienti
Products & Shopping Cart Microservices
[ list-of ]
- Item ID
- Price
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
- Inventory
Products
@mauroservienti
Products & Shopping Cart Microservices
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
- Inventory
Products
@mauroservienti
Products & Shopping Cart Microservices
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
- Inventory
Products
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Update XYZ Price
@mauroservienti
service
boundaries
violation
@mauroservienti
Products Microservices
- Item ID
- Price
- Inventory
Products
@mauroservienti
ownership
is lost
@mauroservienti
Suppliers & Products & Shopping Cart
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
- Inventory
Products
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
- Supplier ID
- Item ID
- Purchase Price
Suppliers
Update XYZ Price
Are we selling?
New Purchase Price
@mauroservienti
autonomy?
puff, it’s gone
@mauroservienti
HTTP all the rage
because it’s the microservices way
@mauroservienti
Suppliers & Products & Shopping Cart
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
- Inventory
Products
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
- Supplier ID
- Item ID
- Purchase Price
Suppliers
Update XYZ Price
Are we selling?
New Purchase Price
@mauroservienti
“the microservices way”
Shopping CartProducts
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Suppliers Update XYZ Price
Are we selling?
New Purchase Price
• Incoming “external” HTTP Post
• HTTP Query from Suppliers to Products
• HTTP Post from Suppliers to Products
• HTTP Query from Products to Shopping Cart
• HTTP Post from Products to Shopping Cart
@mauroservienti
Hops 1 2 3 4 10
Latency 100ms 200ms 300ms 400ms 1 second
“the microservices way”
Does not count any processing time!
…
@mauroservienti
Latency Matters
http://highscalability.com/blog/2009/7/25/latency-is-everywhere-and-it-costs-you-sales-how-to-crush-it.html
Amazon found every 100ms of latency cost
them 1% in sales. Google found an extra .5
seconds in search page generation time
dropped traffic by 20%. A broker could lose $4
million in revenues per millisecond if their
electronic trading platform is 5 milliseconds
behind the competition.
“
@mauroservienti
The snowball effect
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
- Inventory
Products
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
- Supplier ID
- Item ID
- Purchase Price
Suppliers
Update XYZ Price
Are we selling?
New Purchase Price Ooops...
@mauroservienti
temporal
coupling
anyone?
@mauroservienti
distributed
transactions
over HTTP
@mauroservienti
@mauroservienti
Messaging
temporal coupling and
distributed transactions
@mauroservienti
The snowball effect
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
- Inventory
Products
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
- Supplier ID
- Item ID
- Purchase Price
Suppliers
Update XYZ Price
Are we selling?
New Purchase Price Ooops...
@mauroservienti
The snowball effect
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
- Inventory
Products
- Supplier ID
- Item ID
- Purchase Price
Suppliers
New Purchase Price
+ new price details
Business
Logic
Purchase Price Changed
+ new price details
Business
Logic
Sell Price Changed
MovetoSavedfor…
@mauroservienti
The snowball effect
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
- Inventory
- Name
- Description
Shopping Cart
+ new price details
Business
Logic
Sell Price Changed
MovetoSavedfor…
Ooops...
@mauroservienti
palliative
alleviates the symptoms
@mauroservienti
Queries are still a thing: Add item to cart.
[ list-of ]
- Item ID
- Price
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
- Inventory
Products
copy price
copy inventory
@mauroservienti
Data sharing is still a thing
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
- Inventory
- Name
- Description
Shopping Cart
+ new price details
Business
Logic
Sell Price Changed
MovetoSavedfor…
@mauroservienti
We’re flooding the system…
Shopping CartProducts
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Is item XYZ in a cart?
Update XYZ inventory
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Is item XYZ in a cart?
Update XYZ inventory
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Is item XYZ in a cart?
Update XYZ inventory
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Is item XYZ in a cart?
Update XYZ inventory
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Is item XYZ in a cart?
Update XYZ inventory
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Is item XYZ in a cart?
Update XYZ inventory
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Is item XYZ in a cart?
Update XYZ inventory
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Is item XYZ in a cart?
Update XYZ inventory
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Is item XYZ in a cart?
Update XYZ inventory
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Is item XYZ in a cart?
Update XYZ inventory
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Is item XYZ in a cart?
Update XYZ inventory
Is item XYZ in a cart?
Swap & Insert Prices
Move to Saved for…
Is item XYZ in a cart?
Update XYZ inventory
Update XYZ Price
Update XYZ Inventory
Over and over, and over, and over…
@mauroservientihttp://montages.no/2009/09/begrepet-grafisk-likhet/
@mauroservienti
@mauroservienti
User mental model is misleading
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
- Inventory
- Name
- Description
Shopping Cart
- Item ID
- Price
- Inventory
Products
- Supplier ID
- Item ID
- Purchase Price
Suppliers
@mauroservienti
Let’s focus on the Shopping Cart
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
- Inventory
- Name
- Description
- Etc…
Shopping Cart
@mauroservienti
Sales shopping cart
[ list-of ]
- Item ID
- Quantity
- Inventory
- Name
- Description
- Delivery Est.
Shopping Cart
- Item ID
- Price
Sales
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
@mauroservienti
- Item ID
- Price
Sales
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
Warehouse shopping cart
[ list-of ]
- Item ID
- Quantity
- Name
- Description
- Delivery Est.
Shopping Cart
[ list-of ]
- Cart ID
- Item ID
- Inventory
- Quantity
Warehouse
- Item ID
- Inventory
@mauroservienti
Shipping shopping cart
[ list-of ]
- Item ID
- Quantity
- Name
- Description
Shopping Cart
[ list-of ]
- Cart ID
- Item ID
- Quantity
- Delivery Est.
- Item ID
- Price
Sales
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
[ list-of ]
- Cart ID
- Item ID
- Inventory
- Quantity
Warehouse
- Item ID
- Inventory
- Item ID
- Delivery
Type
Shipping
@mauroservienti
Marketing tends to be stable
[ list-of ]
- Item ID
- Quantity
Shopping Cart
[ list-of ]
- Cart ID
- Item ID
- Quantity
- Delivery Est.
- Item ID
- Price
- Item ID
- Name
- Description
Marketing
Sales
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
[ list-of ]
- Cart ID
- Item ID
- Inventory
- Quantity
Warehouse
- Item ID
- Inventory
- Item ID
- Delivery
Type
Shipping
@mauroservienti
Do we need the Shopping Cart at all?
[ list-of ]
- Item ID
- Quantity
Shopping Cart
[ list-of ]
- Cart ID
- Item ID
- Quantity
- Delivery Est.
- Item ID
- Price
- Item ID
- Name
- Description
Marketing
Sales
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
[ list-of ]
- Cart ID
- Item ID
- Inventory
- Quantity
Warehouse
- Item ID
- Inventory
- Item ID
- Delivery
Type
Shipping
@mauroservienti
Can Sales be responsible for that concept?
[ list-of ]
- Cart ID
- Item ID
- Quantity
- Delivery Est.
- Item ID
- Price
- Item ID
- Name
- Description
Marketing
Sales
Cart ID
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
[ list-of ]
- Cart ID
- Item ID
- Inventory
- Quantity
Warehouse
- Item ID
- Inventory
- Item ID
- Delivery
Type
Shipping
@mauroservienti
We followed the coupling
[ list-of ]
- Cart ID
- Item ID
- Quantity
- Delivery Est.
- Item ID
- Price
- Item ID
- Name
- Description
Marketing
Sales
Cart ID
[ list-of ]
- Item ID
- CurrentPrice
- LastPrice
- Quantity
[ list-of ]
- Cart ID
- Item ID
- Inventory
- Quantity
Warehouse
- Item ID
- Inventory
- Item ID
- Delivery
Type
Shipping
@mauroservienti
What a (micro)service is not
• A service that has only functionality is a function:
• Like calculation, validation, etc.
• A service that has only data is a database:
• Like [create, read, update, delete] entity
• HTTP/WSDL doesn’t change logical responsibility
@mauroservienti
What a (micro)service is
the technical authority
for a specific business
capability
All business rules (& data) reside within the service
@mauroservienti
Full Vertical Slices
MarketingSales Warehouse Shipping
behavior & databehavior & data behavior & databehavior & data
@mauroservienti
Full Vertical Slices
MarketingSales Warehouse Shipping
behavior & databehavior & data behavior & databehavior & data
UI & ViewModel
Composition
UI & ViewModel
Composition
UI & ViewModel
Composition
UI & ViewModel
Composition
@mauroservienti
Full Vertical Slices
MarketingSales Warehouse Shipping
behavior & databehavior & data behavior & databehavior & data
UI & ViewModel
Composition
UI & ViewModel
Composition
UI & ViewModel
Composition
UI & ViewModel
Composition
Dedicated
Technology / FX
Dedicated
Technology / FX
Dedicated
Technology / FX
Dedicated
Technology / FX
@mauroservienti
@mauroservienti
services need to
communicate
@mauroservienti
Business requirements (#4)
• Annoy Notify users of 1 week stale carts
• Wipe 1 month stale carts
@mauroservienti
Services communication channel
MarketingSales Warehouse Shipping
behavior & databehavior & data behavior & databehavior & data
ViewModel Composition ViewModel Composition ViewModel CompositionViewModel Composition
@mauroservienti
Services communication channel
MarketingSales Warehouse Shipping
behavior & data
behavior & data
behavior & databehavior & data
ViewModel Composition
ViewModel Composition ViewModel CompositionViewModel Composition
Add Item to Cart
@mauroservienti
Services communication channel
MarketingSales Warehouse Shipping
behavior & data
behavior & data
behavior & databehavior & data
ViewModel Composition
ViewModel Composition ViewModel CompositionViewModel Composition
Add Item to Cart
1. Set 1 week timeout
@mauroservienti
Services communication channel
MarketingSales Warehouse Shipping
behavior & data
behavior & data
behavior & databehavior & data
ViewModel Composition
ViewModel Composition ViewModel CompositionViewModel Composition
Add Item to Cart
1. Set 1 week timeout
2. Set 1 month timeout
@mauroservienti
1 week later
MarketingSales Warehouse Shipping
behavior & data
behavior & data
behavior & databehavior & data
ViewModel Composition
ViewModel Composition ViewModel CompositionViewModel Composition
Add Item to Cart
1. Set 1 week timeout
2. Set 1 month timeout
Cart Got Stale
@mauroservienti
1 week later
MarketingSales Warehouse Shipping
behavior & data
behavior & data
behavior & databehavior & data
ViewModel Composition
ViewModel Composition ViewModel CompositionViewModel Composition
Add Item to Cart
1. Set 1 week timeout
2. Set 1 month timeout
busCart Got Stale
@mauroservienti
1 week later
MarketingSales Warehouse Shipping
behavior & data
behavior & data
behavior & databehavior & data
ViewModel Composition
ViewModel Composition ViewModel CompositionViewModel Composition
Add Item to Cart
1. Set 1 week timeout
2. Set 1 month timeout
bus Cart Got Stale
@mauroservienti
1 week later
MarketingSales Warehouse Shipping
behavior & data
behavior & data behavior & data
behavior & data
ViewModel Composition
ViewModel Composition ViewModel Composition
ViewModel Composition
Add Item to Cart
1. Set 1 week timeout
2. Set 1 month timeout
bus
Notify User
Cart Got Stale
@mauroservienti
1 month later
MarketingSales Warehouse Shipping
behavior & data
behavior & data
behavior & databehavior & data
ViewModel Composition
ViewModel Composition ViewModel CompositionViewModel Composition
Add Item to Cart
1. Set 1 week timeout
2. Set 1 month timeout
bus
Cart Expired
@mauroservienti
busCart Expired
1 month later
MarketingSales Warehouse Shipping
behavior & data
behavior & data
behavior & databehavior & data
ViewModel Composition
ViewModel Composition ViewModel CompositionViewModel Composition
Add Item to Cart
1. Set 1 week timeout
2. Set 1 month timeout
Cart Expired
@mauroservienti
1 month later
MarketingSales Warehouse Shipping
behavior & data
behavior & data
behavior & databehavior & data
ViewModel Composition
ViewModel Composition ViewModel CompositionViewModel Composition
Add Item to Cart
1. Set 1 week timeout
2. Set 1 month timeout
busCart Expired Cart Expired
@mauroservienti
1 month later
MarketingSales Warehouse Shipping
behavior & databehavior & data
behavior & data
behavior & data
ViewModel Composition ViewModel Composition ViewModel Composition
ViewModel Composition
Add Item to Cart
1. Set 1 week timeout
2. Set 1 month timeout
bus
Wipe cart Wipe cart
Cart Expired Cart Expired
@mauroservienti
cross services events
can be as thin as
event name and identifiers
@mauroservienti
time tyranny
Demo
bit.ly/aperitech-dos-donts
@mauroservienti
Takeaways
• Boundaries are key to success
• Do not bring in more technology to solve non-
technical problems
@mauroservienti
Takeaways
• Boundaries are key to success
• Mental model can badly influence design
• Users/Business analysts tend to think in term
of data presentation
@mauroservienti
Takeaways
• Boundaries are key to success
• Mental model can badly influence design
• Do not name things prematurely
• Premature names stick and drive data
aggregation
@mauroservienti
Takeaways
• Boundaries are key to success
• Mental model can badly influence design
• Do not name things prematurely
• Behaviors define how to aggregate data
• Group data that change together and that influence each
other
• Use anti-requirements techniques to validate data
grouping
• Follow the coupling
@mauroservienti
Takeaways
• Boundaries are key to success
• Mental model can badly influence design
• Do not name things prematurely
• Behaviors define how to aggregate data
• Use messaging to temporally decouple services
@mauroservienti
you don’t need a distributed system
first rule of distributed systems
@mauroservienti
Mauro Servienti
Solution Architect @ Particular Software
the makers of NServiceBus
mauro.servienti@particular.net
@mauroservienti
//milestone.topics.it
@mauroservienti
microservices
pineapple on
pizza sucks… ;)
@mauroservienti
Thank you!

More Related Content

PPTX
Microservices architecture is it the right choice to design long-living syste...
PPTX
All our aggregates are wrong (ExploreDDD 2018)
PPTX
All our aggregates are wrong @ NDC Copenhagen 2019
PDF
Patrick Hopkins, Coca Cola Bottling Procurement Director on How Coke Streamli...
PPTX
The First Kilometre: Building a Back-End That Sets You Up For Success
PDF
Smarter Planet: Retail
PDF
Cross-channel retail, David Hogg, IBM
PDF
Moving away from legacy code with BDD
Microservices architecture is it the right choice to design long-living syste...
All our aggregates are wrong (ExploreDDD 2018)
All our aggregates are wrong @ NDC Copenhagen 2019
Patrick Hopkins, Coca Cola Bottling Procurement Director on How Coke Streamli...
The First Kilometre: Building a Back-End That Sets You Up For Success
Smarter Planet: Retail
Cross-channel retail, David Hogg, IBM
Moving away from legacy code with BDD

Similar to Microservices and pineapple on pizza what do they have in common - dos and don'ts (20)

PPTX
Presentation at Logility Conference 2012
PDF
Erp study (Understand and select ERP)
PPT
Sears mdm lunch and learn attribute section final
PPTX
Overview of CIMM2 - A Unilog Product
PDF
Infosys – Order Management Supply Chain SRM
PDF
Achieving profitable to promise in distribution centric supply chain
PPTX
Managing retail outlets
PDF
Infosys – Order management | CRM & SRM Case Study | Solution
PDF
Moving away from legacy code (AgileCymru)
PDF
STRATEGIC USE OF MIS DRGORAD
PDF
[Webinar] High Speed Retail Analytics
PPT
Industrial marketing
PDF
Sage er px3-puerto rico
PPTX
Netsuite for Manufacturing Companies
PPT
Customer value and supply chain management
PPT
Group+b final+presentation wk5
PPT
Shopping
Presentation at Logility Conference 2012
Erp study (Understand and select ERP)
Sears mdm lunch and learn attribute section final
Overview of CIMM2 - A Unilog Product
Infosys – Order Management Supply Chain SRM
Achieving profitable to promise in distribution centric supply chain
Managing retail outlets
Infosys – Order management | CRM & SRM Case Study | Solution
Moving away from legacy code (AgileCymru)
STRATEGIC USE OF MIS DRGORAD
[Webinar] High Speed Retail Analytics
Industrial marketing
Sage er px3-puerto rico
Netsuite for Manufacturing Companies
Customer value and supply chain management
Group+b final+presentation wk5
Shopping
Ad

More from Mauro Servienti (20)

PPTX
Welcome to the (state) machine @ ExploreDDD 2019
PPTX
Designing a ui for microservices @ .NET Day Switzerland 2019
PPTX
Welcome to the (state) machine @ Xe One Day Enterprise Applications
PPTX
Be like water, my friend @ Agile for Innovation 2019
PPTX
Titles, abstracts, and bio matter... oh my! @ Global Diversity CFP Day 2019
PPTX
Living organizations, particular software @ do IT Better Parma
PPTX
Welcome to the (state) machine @ Crafted Software
PPTX
PO is dead, long live the PO - Italian Agile Day 2018
PPTX
Design a UI for your Microservices @ Do IT Better
PPTX
Designing a ui for microservices
PPTX
Po is dead, long live the po
PPTX
Shipping code is not the problem, deciding what to ship it is!
PPTX
GraphQL - Where are you from? Where are you going?
PPTX
Dall'idea al deploy un lungo viaggio che passa per git flow e semver
PPTX
Progettare una UI per i Microservices
PPTX
The road to a Service Oriented Architecture is paved with messages
PPTX
La via verso SOA è lastricata di messaggi
PPTX
Implementare il single sign on con IdentityServer
PPTX
How we daily manage and work in a dispersed company: Particular Software
PPTX
From cogs to nirvana
Welcome to the (state) machine @ ExploreDDD 2019
Designing a ui for microservices @ .NET Day Switzerland 2019
Welcome to the (state) machine @ Xe One Day Enterprise Applications
Be like water, my friend @ Agile for Innovation 2019
Titles, abstracts, and bio matter... oh my! @ Global Diversity CFP Day 2019
Living organizations, particular software @ do IT Better Parma
Welcome to the (state) machine @ Crafted Software
PO is dead, long live the PO - Italian Agile Day 2018
Design a UI for your Microservices @ Do IT Better
Designing a ui for microservices
Po is dead, long live the po
Shipping code is not the problem, deciding what to ship it is!
GraphQL - Where are you from? Where are you going?
Dall'idea al deploy un lungo viaggio che passa per git flow e semver
Progettare una UI per i Microservices
The road to a Service Oriented Architecture is paved with messages
La via verso SOA è lastricata di messaggi
Implementare il single sign on con IdentityServer
How we daily manage and work in a dispersed company: Particular Software
From cogs to nirvana
Ad

Recently uploaded (20)

PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Auditboard EB SOX Playbook 2023 edition.
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PPTX
Internet of Everything -Basic concepts details
DOCX
Basics of Cloud Computing - Cloud Ecosystem
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PPTX
future_of_ai_comprehensive_20250822032121.pptx
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PPTX
Module 1 Introduction to Web Programming .pptx
PPTX
MuleSoft-Compete-Deck for midddleware integrations
PDF
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
sustainability-14-14877-v2.pddhzftheheeeee
Improvisation in detection of pomegranate leaf disease using transfer learni...
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Data Virtualization in Action: Scaling APIs and Apps with FME
Auditboard EB SOX Playbook 2023 edition.
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
Internet of Everything -Basic concepts details
Basics of Cloud Computing - Cloud Ecosystem
Consumable AI The What, Why & How for Small Teams.pdf
giants, standing on the shoulders of - by Daniel Stenberg
future_of_ai_comprehensive_20250822032121.pptx
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
Early detection and classification of bone marrow changes in lumbar vertebrae...
Advancing precision in air quality forecasting through machine learning integ...
Rapid Prototyping: A lecture on prototyping techniques for interface design
Module 1 Introduction to Web Programming .pptx
MuleSoft-Compete-Deck for midddleware integrations
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
Enhancing plagiarism detection using data pre-processing and machine learning...

Microservices and pineapple on pizza what do they have in common - dos and don'ts

Editor's Notes

  • #3: I’m a remote worker We live in a small flat, thus I have a small office I enjoy going to the office by bike And I enjoy bananas for my breaks Bike riding and bananas in the backpack are not a great idea, so…
  • #5: How is this thing designed?
  • #7: I’m a remote worker I enjoy going to work by bike And I enjoy bananas as lunch breaks Bike riding and bananas in the backpack are not a great idea, so…
  • #8: Price cannot unexpectedly change while an item is in the cart
  • #11: Price cannot unexpectedly change while an item is in the cart
  • #23: distributed monolith
  • #27: Amazon found every 100ms of latency cost them 1% in sales https://blog.gigaspaces.com/amazon-found-every-100ms-of-latency-cost-them-1-in-sales/
  • #30: distributed monolith
  • #31: distributed monolith
  • #38: At Cart Item Add time
  • #41: Deploy time
  • #52: HTTP/WSDL remark : The fact that you add an HTTP or WSDL entry point into the code, doesn’t make it a service!
  • #53: Again, not technical, but look at it from a business perspective. What is the responsibility of a service?
  • #60: Sales conceptually own the shopping car concept
  • #61: Sales conceptually own the shopping car concept
  • #62: Sales conceptually own the shopping car concept
  • #63: Sales conceptually own the shopping car concept
  • #72: Since we have very low, if not zero, coupling across services.