GuideBeginner

Architectural Styles And Boundaries

Learn to structure a system from the inside: how to split it into parts, where to draw the boundaries, and which style — monolith, modular monolith, microservices — fits which context. The guide's core is coupling and cohesion, and lightweight Domain-Driven Design bounded contexts: group what changes together, separate what changes for different reasons. You work through a single case study from start to finish: Mercado, a marketplace that started as a boundary-less monolith where everything touches everything (a change in Reviews breaks Checkout), which you'll restructure by drawing its five bounded contexts (Catalog, Orders, Payments, Shipping, Reviews). Every coupling metric — fan-in/fan-out, instability, blast radius, cycle detection — is calculated and executed in Python over a real dependency graph, never quoted from memory. The guide closes with a capstone that restructures Mercado's whole monolith: a context map, a justified style decision, and metrics measured before and after.

64
lessons
8
modules
English · Spanish
available in
Yes
certificate
Free
access
NIEVA

Outcomes

What you'll be able to do

  • Distinguish coupling from cohesion and understand why code structure decides the cost of change
  • Draw bounded contexts with lightweight DDD: spot where the same business concept means different things in different contexts
  • Build a modular monolith with hard internal boundaries, without needing microservices
  • Judge what you gain and what you pay when moving to microservices (independent deployment vs. network calls, distributed consistency, observability)
  • Decide whether communication across a boundary should be synchronous (REST/gRPC) or asynchronous (events), as a coupling decision
  • Apply decomposition strategies by business capability, including the strangler fig pattern to extract services gradually without breaking everything
  • Measure and defend a boundary with real coupling metrics (fan-in/fan-out, instability, blast radius) and fitness functions that fail when someone crosses it
  • Restructure a real monolith end to end: a bounded-context map, a style choice, cross-boundary communication, and before/after metrics

Before you start

What you need to bring

It's for you if...

  • Backend devs working in a monolith that "hurts" and need a criterion, not a trend, to decide what to extract
  • Devs and tech leads evaluating whether moving to microservices actually solves their problem or just relocates it
  • Anyone who wants to apply DDD bounded contexts without doing the full strategic process
  • Teams that need to defend an architecture decision with measurable metrics, not opinions

Requirements and materials

  • Basic Python (to run the coupling metrics over dependency graphs)
  • Having worked on a backend with several modules or services, even a simple monolith
  • No prior experience with microservices or Domain-Driven Design required

Content

The syllabus, module by module

Open any of them to see its lessons.

Common questions

What people usually ask

Start whenever you like

Reviews

What students say

These reviews are from enrolled students who completed at least 50% of the course. We moderate reviews only on content grounds (spam, offensive language, personal data), never for being critical or negative.

No approved reviews yet.

Be the first to share your experience!