C4 model of a monolith carved into services

An online-course platform carves its Rails monolith into services. Step from 2024 to the 2026 target as each module moves out with its own data.

Views in this map

  1. 1
    2024 · MonolithOne Rails app on one MySQL database: every module, every request and every table.
  2. 2
    2025 · First servicesPayments and search move out with their own data, and Kafka carries events between them.
  3. 3
    2026 · TargetVideo, notifications and progress follow. The four modules that change together stay.
  4. 4
    Monolith modulesInside the 2024 monolith: nine modules, 16 direct calls, three of them both ways.

2024 · Monolith ▸ Monolith modules ‹ › 2025 · First services ‹ › 2026 · Target

Flows to play

  • A learner buys a courseA $49 course, from the tap on Buy to the receipt in the learner’s inbox. In every year: one web request through Rails in 2024; from 2025 the payments service charges the card and events do the rest.

The model behind it

60 records of 10 types. Every box on the map is one of them, so the filters and the record panel read the same data.

  • Containers 11
  • Monolith modules 9
  • Decisions (ADRs) 9
  • Data stores 7
  • Teams 6
  • Domain events 6
  • People 4
  • 3 more types 8

Filters

Phase and Team: pick a value and everything else fades.

See you in the canvas

Unlock your team’s collaborative super powers.