For any software application, there are three components:

– Application (The Logic & Presentation)

– The Storage (Database & Filestore)

– The Connecting Protocol ( How Above two talk to Each Other)

Single Tenant System has exactly one copy of each component ( No Sharing — No Tenancy). Each user will have their own version/copy of the application, and database and may have different protocols as well.

The issue is SaaS doesn’t fit into this model because it cost more as more infrastructure, maintenance is very difficult as each version requires its own maintainer, Upgrades are complex and the speed of innovation/new feature is less.

So, with help of cloud technology and powerful logical separation provided by databases/object stores, compute environments, and acceptable universal protocols (e.g., REST APIs), SaaS adopts a Multi-Tenant Approach. Users’ data is still separate from each other at the logical layer level while they have the same infrastructure sharing. Lower cost, easy to scale, and highly available.

One of the biggest critiques of the Multi-Tenant system has been customizations are problematic as businesses grow, and have their unique needs not met. Security of data is somewhat fixed as you can see with the success and adoption of large SaaS platforms.

The balance is in keeping the business’s unique requirements as a single-tenant system while keeping the common functionalities on SaaS platforms. For example in Probyto AIMS, the meta-data store is common for all AI teams, while each client has their own toolkit copy to work in their own way.

If you are building a SaaS platform and want to learn from our journey, feel free to connect with me.

#multitenant #cloudcomputing #saas #dataplatform