Design Strategy for Data Isolation in SaaS Model

1,652 views

Published on

Design Strategy for Data Isolation in SaaS Model

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,652
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Design Strategy for Data Isolation in SaaS Model

  1. 1. Design Strategy for Data Isolation in SaaS Model
  2. 2. 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
  3. 3. 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)?
  4. 4. 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?
  5. 5. 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?
  6. 6. 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?
  7. 7. 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 customerswww.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)?
  8. 8. 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
  9. 9. 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.
  10. 10. www.techcello.com TechCello – Flexible Architecture TechCello 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.
  11. 11. www.techcello.com Contact Us http://www.techcello.com sales@techcello.com

×