Search⌘ K

Organizations, Subdomains, and Microservices

Explore the fundamental concepts of organizations, subdomains, bounded contexts, and microservices to improve software development. Understand how to define clear boundaries, form cohesive teams, and align business needs with technical architecture. This lesson helps you create scalable systems that meet user expectations and reduce complexity by mapping microservices to bounded contexts.

A couple of important definitions upfront

In modern and large IT organizations, we typically have many teams and applications as well as an elaborate graph of requirements. If we are not careful when forming or managing such environments, we can introduce an unintentional overhead that can create complications and slow down a significant portion of the company. In smaller organizations, similar problems can quickly occur with growth if we do not plan properly ahead of time.

Before I clarify and chop the described problem in the next sections, it is essential that you understand basic concepts of subdomains“Domain Driven Design” - a book by Eric Evans. ISBN-13: 978-0321125217., bounded contexts“Domain Driven Design” - a book by Eric Evans. ISBN-13: 978-0321125217., and microservices“Patterns of Enterprise Application Architecture” - a book by Martin Fowler. ISBN-13:978-0321127426..

The course will base several important suggestions on these terms, as they help define boundaries for applications, systems, and subsystems. In this context, the borderline is more important than what is inside it.

Make sure to familiarize yourself with these concepts before we go any further. If you are already familiar with them, then let’s quickly recap to refresh your memory:

  • A subdomain is a part of an overall problem that an entire organization solves. For example, an established brand can have a subdomain of “Sales” that expresses how it sells its products online.
  • A bounded
...