Finding your service boundaries - a practical guide - Adam Ralph (NDC Portugal Feb 2019)

Particular Software is the vendor of NServiceBus - but this talk is interesting because it illustrates just how tricky it can be to identify optimal (service) boundaries (so all that vagueness around contexts isn’t deliberate).

  • Fat events (11:56)
  • What a service is not (19:15)
  • A service is the technical authority for a specific business capability (20:08)
  • Systems and Services (21:38)
  • Services are logical design time concerns with business aligned boundaries; Systems are physical runtime concerns with technically aligned boundaries - do not conflate logical boundaries with physical boundaries (22:56)
  • Decomposing a Domain (24:09)
  • Anti-requirements; striking gold with dumb questions (24:50)
  • Eric Evans/DDD reference (28:12)
  • Entities are bad - Behaviours and Scenarios are great (29:09)
  • Don’t name too early (29:35)
  • Domain: Insurance (30:46)
  • The model reveals itself bottom up - the high level is revealed from the detail (36:06)
  • Organisational boundaries (37:03)
  • Big Ball of Mud - Microservices Edition (40:36)
  • Autonomous components (45:22)
  • Just like Patterns - No Silver Bullet (49:44)
  • Startups don’t have stable business rules - making it impossible to identify boundaries (50:20)
  • Questions (52:20)

Related:
All our aggregates are wrong - Mauro Servienti

9 Likes

Thanks for posting this talk! It has been one of my favorite talk about service boundaries that I’ve seen so far. I especially liked the anti-requirements, making a distinction between logical and physical boundaries (and being sure not to conflate them), and not naming things too early when modeling.

1 Like