Understanding Multitenancy Isolation Models in Plain English

Discuss popular isolation models for multitenant applications using Azure Cosmos DB or similar NoSQL databases.

Shawn Shi
Geek Culture

--

Background

Multitenancy refers to a software architecture pattern, which allows multiple customers (i.e., tenants) to share the same software application as well as the database. Multitenancy is a very popular approach in building software as a service (SaaS) applications as it offers significant benefits such as cost savings, scalability improvement, and ease of management.

Of course, there are challenges coming with building multitenant applications. One critical challenge is to ensure tenant data isolation. Data isolation means ensuring that each tenant’s data is stored separately and cannot be accessed by other tenants. It would look really bad if one customer sees another customer’s data. Purely, awful… Microsoft has a detailed documentation, Multitenancy and Azure Cosmos DB, covering how Azure Cosmos DB can support different isolation models in full technical terms.

Goal

The goal of this article is to discuss different data isolation models that can be used by multitenant applications, in plain English. We will discuss:

  • Partition key per tenant
  • Container per tenant
  • Database per tenant

Getting Started

--

--

Shawn Shi
Geek Culture

Senior Software Engineer at Microsoft. Ex-Machine Learning Engineer. When I am not building applications, I am playing with my kids or outside rock climbing!