Skip to content

Uncategorized

Multi-Tenancy Isn’t About Databases

You start off with what seems like the obvious solution to a multi-tenant SaaS application. We have tenant A. We have tenant B. We have one application and one database. Within that database, for every structure, whether that is a table, collection, or stream, we segregate things by a tenant ID. It is simple. It is easy. It works. Until it does not. What happens when one tenant imports five million records? Or they run a bunch of reports, and some of those reports are massive? That shared infrastructure which seemed simple is also what is coupling everything together. YouTube… Read More »Multi-Tenancy Isn’t About Databases

Stop Blaming Event-Driven Architecture

So, you adopted event-driven architecture because your system was a rat’s nest of coupling, and events were the answer to decouple it. But now debugging is a nightmare. You have events coming in out of order. You have retries causing duplicates and multiple different side effects. Local development is a pain. It’s frustrating, right? But we use events for a reason. 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. Events can help us reduce temporal coupling within our system. We can have a publisher… Read More »Stop Blaming Event-Driven Architecture

Solving the ‘God Object’ Problem with Shared Identity

You start with a simple entity. Then, over time, you add more and more properties. The next thing you know, you have a god object sitting at the center of your system. Everything touches it. Everything depends on it. Every workflow flows through it. And whenever you need to make a change, you hope it doesn’t break something else. At some point, you start wondering: how did we end up here? 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. For a lot of systems,… Read More »Solving the ‘God Object’ Problem with Shared Identity