Knowledgebase

Defining Service Boundaries Print

  • backenddevelopment, backend, database, guide, howto, solution, zillionkinghost, hosting
  • 0

Where to divide.

WHAT DETERMINES A GOOD BOUNDARY

Data ownership Rate of change Team ownership Business capability

WHAT A SERVICE SHOULD OWN

Its own data, exclusively.

WHY EXCLUSIVELY

Shared databases couple services, and defeat the point entirely.

WHAT THAT MEANS

No service reads another's tables directly.

WHAT THEY DO INSTEAD

Call the owning service, or consume events it publishes.

WHAT INDICATES A BAD BOUNDARY

Services that must always be deployed together Frequent calls between two services for one operation A change requiring modifications to several services

WHAT TO DO ABOUT THAT

Reconsider the boundary, and possibly merge.

WHAT TO AVOID

Splitting by technical layer rather than by capability Services too small to justify their overhead Circular dependencies between services

WHAT TO ESTABLISH FOR EACH SERVICE

What it owns What it depends on What it publishes Who maintains it

WHAT TO DOCUMENT

The map of services and their relationships.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot