Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

Architecture

Multi-Tenant: Database Per Tenant or Shared?

When building a multi-tenant application, one of the first decisions revolves around data management: Should you use a shared database or a database per tenant? YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Shared Database Let’s start with the shared database model. In this scenario, tenant A and tenant B are hitting the same API, connecting to the same database instance with the same schema. This means you need to record tenant information alongside the data you are persisting. For example, customer data might look like:… Read More »Multi-Tenant: Database Per Tenant or Shared?

Vertical Slice Architecture isn’t technical

Migrate to a Vertical Slice Architecture from a monolith? Is it more like microservices? Does it replace Clean Architecture? None of the above. It’s about being driven by cohesion of business capabilities and business processes. It has nothing to do with layers or physical deployment concerns. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Vertical Slice Architecture Vertical Slice Architecture has everything to do with business capabilities and nothing to do with a monolith, microservices, clean architecture, or hexagonal imports and adapters. It’s all about defining… Read More »Vertical Slice Architecture isn’t technical

Avoiding a Legacy Codebase. Keep it Evergreen

Nobody wants their codebase to turn into a brownfield mess legacy codebase having to use outdated technology. Here are 3 tips for keeping your codebase evergreen. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Understanding Stability and Advancements How do you keep your codebase Evergreen and avoid it being a legacy codebase? Let’s say you recently started a greenfield project, and you know it will be maintained over the years, adding new functionality. You don’t want it to turn into legacy or something that’s considered brownfield.… Read More »Avoiding a Legacy Codebase. Keep it Evergreen