What is Multi-tenant SaaS Application?

Before we dive into Multi-tenant SaaS application, let’s talk about what is SaaS and why do you need it?

SaaS applications are cloud based solutions hosted on cloud by third party where customers pay the the rent for using it instead of worrying about underlying infrastructure, upgrades for the software, etc. Some very popular applications which may have used in your company already are Atlasian (JIRA, Confluence), Slack, Datadog, etc…

It’s one of three main categories of cloud computing (IaaS, PaaS, SaaS) offerings. SaaS offers many potential advantages to customers over the traditional models of business software installation, including: Lower up-front cost, Quick to set up, Easy Upgrade, Accessibility, and Scalability.

Multi-tenant SaaS Applications:

Multi-tenant SaaS applications uses same application and database layers to run applications for multiple tenants (organizations/customers).

As for the data, each set of data is tagged as belonging to each customer to segregate and secure the data for each customer.

Today, SaaS application developers, as well as businesses, aim for the most cost-effective as well as an efficient approach for SaaS application development. That is why multi-tenant SaaS architecture is preferred over single tenancy.

When it comes to design, it’s not easy. Let’s look into some challenges of designing multi-tenant applications:

Tenant Isolation: Needed to keep one customer data separate from others. Failing to do so can bring the whole business down.

Customization: Supporting the customer (tenant) tenant specific customization.

Development & Operational Complexity: Schema changes, Restoring or Scaling tenant specific configurations.

Scalability: Flexibility to change subscriptions/plans for customers as and when need changes.

Design Patterns:

There are many patterns suggested by experts, and you can also come up with your own. But I would recommend only two patterns:

One database per tenant:

Multi-tenant Application using Azure SQL DB

Single multi-tenant database:

Multi-tenant Application Design on AWS

Resources:

https://docs.microsoft.com/en-us/azure/sql-database/saas-tenancy-app-design-patterns

Atlassian Multi-tenant Architecture Example



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a website or blog at WordPress.com

Up ↑

<span>%d</span> bloggers like this: