{"id":1080,"date":"2019-12-13T18:46:26","date_gmt":"2019-12-13T17:46:26","guid":{"rendered":"https:\/\/blog.besharp.it\/saas-enamblement-from-mono-tenant-to-multi-tenant\/"},"modified":"2021-03-24T17:16:53","modified_gmt":"2021-03-24T16:16:53","slug":"saas-enamblement-from-mono-tenant-to-multi-tenant","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/saas-enamblement-from-mono-tenant-to-multi-tenant\/","title":{"rendered":"SaaS Enablement: from mono-tenant to multi-tenant"},"content":{"rendered":"

Welcome back to our series of blog posts dedicated to SaaS Enablement. After our deep-dive about refactoring a monolith into microservices<\/a>, here we\u2019ll discuss why a SaaS model definitely requires a multi-tenant approach and which are the best practices to implement it efficiently at scale.<\/span><\/p>\n

Introduction<\/span><\/h1>\n

Today more than ever, patterns like SaaS are essential for the growth of successful products.\u00a0<\/span><\/p>\n

However, the mere adoption of SaaS is not enough.\u00a0<\/span><\/p>\n

Attempting to sell a product as SaaS while it is designed to be mono-tenant is one of the most common mistakes, usually done by installing a new copy of the software for each customer, in a dedicated piece of infrastructure.\u00a0<\/span><\/p>\n

Such an approach may technically work, but it quickly becomes financially and technically unsustainable.<\/span><\/p>\n

Successfully build a SaaS application means you must be ready to guarantee customer satisfaction on any scale and at any cost.<\/span><\/p>\n

To boost your profit while bestowing an outstanding user experience, you must be able to adjust your computing resources (and your spending) according to the traffic and the number of customers. And this results in greater efficiency at scale only if all your users share the same infrastructure.<\/span><\/p>\n

It should be clear at this point that to successfully grow a SaaS application you have to migrate to a multi-tenant approach<\/span><\/p>\n

Difference between Mono-Tenant and Multi-Tenant<\/span><\/h1>\n

Mono-Tenant<\/b> software is a program that serves as an individual client. With a single tenancy, there is an independent database and instance of the software for each customer. Essentially, there is no sharing happening with this option.<\/span><\/p>\n

Multi-Tenant<\/b> software is the environment in which a single instance of the software that is running on a SaaS platform serves multiple clients or tenants. Each customer shares the software application and a single database. Each Tenant\u2019s data is isolated and remains invisible to other Tenants.<\/span><\/p>\n

Why use a Multi-Tenant model instead of a Mono-Tenant model<\/span><\/h1>\n

There are a lot of benefits using a Multi-Tenant model instead of a Mono-Tenant model. For example:<\/span><\/p>\n