Suggest an editImprove this articleRefine the answer for “How to determine the boundaries of a microservice?”. Your changes go to moderation before they’re published.Approval requiredContentWhat you’re changing🇺🇸EN🇺🇦UAPreviewTitle (EN)Short answer (EN)The boundaries of a microservice are determined by **which business function it performs fully and independently** - the main guideline is business logic, not technical structure (bounded context from DDD, data ownership, minimal cross-service calls). **Key point:** the boundary of a microservice lies where its business responsibility ends - it should be autonomous, own its data, and perform a complete task.Shown above the full answer for quick recall.Answer (EN)ImageThe boundaries of a microservice are determined by **which business function it performs fully and independently**. The main guideline is **business logic, not technical structure**. ### 1. **Focus on the domain** This uses the *bounded context* principle from DDD: one service equals one clear part of the business. *Example:* "Users", "Orders", "Payments", "Delivery". Each service is responsible only for its own context and does not intrude on another's. ### 2. **Look for natural dependencies** If two modules often change together, they most likely should be in the same service. If they live independently and rarely interact, it is worth splitting them. ### 3. **Look at data and its ownership** Each service should own **its own data** and not access other services' databases directly. The boundary often falls where the "owner" of the data changes. ### 4. **Minimize cross-service calls** If two services exchange too many requests, the boundary was probably chosen poorly. A good service is one that does most of the work itself. ### 5. **Make the service complete in meaning** It should be able to perform a business function from start to finish, without direct dependency on others. *Example:* the "Payments" service should verify payment itself rather than asking "Orders" for permission. **Summary:** > The boundary of a microservice lies where its **business responsibility** ends. > It should be autonomous, own its data, and perform a complete task without tight coupling to others.For the reviewerNote to the moderator (optional)Visible only to the moderator. Helps review go faster.