Skip to content

Software Architecture

When and why to choose a structure, not which one is fashionable.

monolithmodular monolithmicroservicesevent-drivenserverlesslayeredhexagonalclean architectureADRs

Lessons

  1. 5.1What is software architecture?Architecture isn't boxes on a whiteboard. It's the handful of choices that would hurt to undo later. 30 min Trade-off matrix
  2. 5.2Monolith vs microservicesOne big app or many small ones? Neither is better. Each has a price, and the right one depends mostly on your team. 30 min Monolith or microservices?
  3. 5.3The modular monolithOne app, one deploy, but with locked doors between its parts. You get most of the benefits of microservices for a fraction of the cost. 30 min Monolith or microservices?
  4. 5.4Event-driven architectureInstead of telling every other part what to do, a service announces what happened, and whoever cares reacts on their own. 30 min Kafka playground
  5. 5.5Layered, hexagonal and clean architectureKeep your business rules at the center and plug the database, payment provider and web framework in around them. 30 min
  6. 5.6Serverless: functions, cold starts and pay-per-useHand the cloud your code and let it run only when something happens. Great for quiet or spiky work, pricey for busy, steady work. 30 min
  7. 5.7Architecture Decision Records (ADRs) in practiceA short note that says what you decided and why, so nobody has to guess a year from now. 30 min Trade-off matrix

On the job: try it on your own project

Ask Claude Code to describe your system's current architecture: the main modules, how they depend on each other, and where the boundaries leak. Compare that with what the team thinks the architecture is. Then pick one open structural question, like splitting a service or adding events, and write a one-page ADR: context, options, decision, consequences.

Can you do this now?

0/4. Anything you can't tick yet: reopen that lesson's practice ladder.