Skip to content

Uncategorized

5 Software Architecture Mistakes That Make Systems Hard to Change

You can follow every enterprise best practice. You can use Clean Architecture, some type of layered architecture, event-driven architecture, microservices, or whatever else is popular. It can still end up in the same place. You have a system that is really hard to change. 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. When you do make a change, you are afraid you are going to break something. Eventually, the same comment keeps coming up: We would be better off rewriting this whole thing. The… Read More »5 Software Architecture Mistakes That Make Systems Hard to Change

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