Design Strategy for Data Isolation in SaaS Model

11
esign Strategy for Data Isolation in SaaS Model

Transcript of Design Strategy for Data Isolation in SaaS Model

Design Strategy for Data Isolation in

SaaS Model

www.techcello.com

TO BE or NOT TO BE – Isolated?

One common question raised while dealing with any SaaS architecture is whether

there needs to be an isolated database for every customer or should there be a

shared database / shared table for all customers.

Tenant

A

Tenant

B

Tenant

C

Multi-

Tenant

Database

Tenant

A

Tenant

B

Tenant

C

www.techcello.com

Decision Parameters

To take a decision you should ask the following questions,• Will my customers be willing to share the data with other

customers or is it a big no?

• Do my customers demand access to the database?

• Will my customers need the option to individually backup and restore the data at any point in time?

• Is the data volume high for all customers?

• Will the workload from all my customers be high and at the same time(concurrency)?

You might not have an option but to provide those customers an isolated database.

www.techcello.com

Inferences

• Will my customers be willing to share the data with other customers or is it a big no?

You might need to go for an isolated database.

Having said that please note that it is a very bad practice and a big blunder to open up the data environment to the customer and it is wise to stay away from it.

Usually customers would need data access to backup the data regularly and sync to their on-premise environment or when they need to create their custom reports.

A better way to handle this would be to provide data export files and APIs through which they can sync the data with the on-premise data and as for the custom reports have a custom report builder capability within the product itself.

www.techcello.com

Inferences

• Do my customers demand access to the database?

While it is easy to achieve this in a isolated database, you can still achieve this in a shared table by building an utility.

www.techcello.com

Inferences

• Will my customers need the option to individually backup and restore the data at any point in time?

You might have to do a capacity planning using workload and storage for your customers and see if combining customers data makes sense from a performance perspective.

In a shared table scenario you typically shard the data based on tenant. If you end up with one shard for each customer then going for a shared table makes no sense.

A shared table scenario makes much sense from a performance perspective only for the following scenarios, 

• When you have many customer with lesser or medium volume of data

• When the workload of the customer is spread at different times             

• When the data volume and workload pattern is different between different customers

www.techcello.com

Inferences• Is the data volume high for all customers?• Will the workload from all my customers be high and at the same

time(concurrency)?

www.techcello.com

Ideal Option In SaaS

Go for a hybrid model where you completely design for a shared table approach

Expect mixed set of customers with different preferences

Designing for Sharding by Tenants will allow you to achieve hybrid support

Have an option to isolate specific customers on a need basis

www.techcello.com

About TechCello

Techcello is a cloud-ready, SaaS Application Development Framework

Can be used to,

Build new SaaS products

Convert single-tenant Apps to Multi-Tenant

Migrate on premise products to SaaS model

Cello framework is delivered as a set of libraries and APIs that can be easily integrated to your product

Applications built using Cello can be deployed in any cloud

Cello contains building blocks for developing, monetizing and servicing your SaaS offering.

www.techcello.com

TechCello – Flexible ArchitectureTechCello supports all models of database multi-tenancy, there by allowing ISVs to operate in a hybrid model.

TechCello offers an end to end SaaS Life Cycle Management Solution that can help in designing, developing and managing the operations of your SaaS product.

Using TechCello you can simply focus on building your product functionalities, and TechCello can take care of the rest.

TechCello is tested and proven SaaS Framework, built exclusively to meet the typical SaaS needs of your business and product.

TechCello offers more than 30+ modules covering all the basic engineering blocks and operational modules.

Apart from saving significant amount of cost, your precious time can be well spent on differentiating your product from competitors through unique product features.

www.techcello.com

Contact Us

http://www.techcello.com

[email protected]