Skip to content

Stop Joining Tables In Your “Modular” Monolith

Modular monoliths are all the rage. You have well defined modules built around business capabilities. Maybe inside those modules you are using something like Clean Architecture. You have separation of concerns. You have direction of dependencies. Everything looks great and you think, “Wow, finally I have a really good structure.” But do you? YouTube Check out my YouTube channel, where I post all kinds of content on Software Architecture & Design, including this video showing everything in this post. Modular Monlith You are looking at an order management system, viewing a particular order, and somebody wants to see the quantity on hand… Read More »Stop Joining Tables In Your “Modular” Monolith

Scaling Software Architecture Without Overengineering

Your system has 500 users and also has 20 microservices, including the gauntlet of Kubernetes, a message broker, distributed tracing, multiple different databases, and a pretty dashboard that probably nobody looks at. Someone will ask the question: why is this so complicated for 500 users? And usually the answer is, “Well, we’re building for scale.” No. No, you’re not. You’re building for scale you don’t have yet. That’s a lot of extra complexity. Scaling software architecture is important to think about. But there’s a difference between actually implementing for scale and giving yourself the options to scale when you need… Read More »Scaling Software Architecture Without Overengineering

Why Sagas Feel Broken

So, you built an elaborate system with commands, queues, an event-driven architecture, retries, timeouts, and, most importantly, compensating actions all handled within sagas. But do you really? Because then you get a call from support. There’s an order where the payment is pending, and it’s been pending for 48 hours. You look into it and see that the payment provider did charge the customer, but your system shows that the payment didn’t go through. So which is true? Clearly, the payment provider. YouTube Check out my YouTube channel, where I post all kinds of content on Software Architecture & Design, including this… Read More »Why Sagas Feel Broken