Right-Sizing and Identifying Service Boundaries

Table of Contents
  1. Why Right-Sizing Microservices is Important
  2. Domain-Driven Design (DDD) Sizing
  3. Steps for DDD-based Microservice Sizing
  4. Example of DDD in Microservice Sizing
  5. Pros of DDD-based Sizing
  6. Cons of DDD-based Sizing
  7. Challenges & Solutions
  8. Event Storming Sizing
  9. Steps for Event Storming-based Microservice Sizing
  10. Example of Event Storming Sizing
  11. Pros of Event Storming Sizing
  12. Cons of Event Storming Sizing
  13. Challenges & Solutions
  14. Conclusion: Choosing Between DDD and Event Storming
  15. Example of microservices for bank application

Why Right-Sizing Microservices is Important

Domain-Driven Design (DDD) Sizing

Domain-Driven Design (DDD) is a strategic approach that helps break down systems into meaningful bounded contexts based on business logic.


Steps for DDD-based Microservice Sizing

Example of DDD in Microservice Sizing

Consider an e-commerce system with several subdomains: Product Catalog, Order Management, and Customer Support. Each subdomain is a candidate for a microservice. For instance:


Pros of DDD-based Sizing

Cons of DDD-based Sizing

Challenges & Solutions

Event Storming Sizing

Event Storming is a collaborative workshop technique where business events drive the discovery of service boundaries. The goal is to understand how the system behaves based on domain events.


Steps for Event Storming-based Microservice Sizing

Example of Event Storming Sizing

For an e-commerce system, domain events might include:

Using Event Storming, you might group events such as "Order Placed" and "Payment Processed" together, forming the basis for an "Order Management" service. "Product Added to Cart" might belong to a "Shopping Cart" service.


Pros of Event Storming Sizing

Cons of Event Storming Sizing

Challenges & Solutions

Conclusion: Choosing Between DDD and Event Storming

Example of microservices for bank application