SlideShare a Scribd company logo
1 of 16
Journey from
Single Tenant Model
to
Multi-Tenant Model
www.techcello.com
Single Tenant Model – The Honey Trap
• It’s quite common for ISVs moving from an on-
premise model to a SaaS model to take the route of
Single tenant/hosted model.
• After 10-15 customers is when they start realizing the
pain of maintaining a single tenant model both from
cost and effort as well as from a quality perspective.
• When they make an attempt to move towards
a multi-tenant model, they are stuck with more
strategic decisions than technical decisions.
• The foremost roadblock towards the move is –
Multiple versions for different customers.
• Single tenancy, which once allowed them to
customize anything and everything for a customer,
will be the biggest business disadvantage for growth.
• Imagine the difficulty of maintaining specs, test cases,
upgrade plans, technical documentation for all these
versions and the effort required for it. Hence, many of
these processes are diluted, which leads to onerous
confusions and quality defects.
www.techcello.com
Identify Your Product Challenges
Identify the core product
Identify Variations From Core Product
Identify Data Level Changes
Identify Workflow Related Changes
Identify Integration Related Changes
Identify Additional Reports
Identify Additional Features
www.techcello.com
Identify The Core Product
• The first task is for the product management team to identify the
right features they want to call as “Core”.
• Core is the product that can be marketed to 90+% of the customers
without many changes.
• This can be easily done by drawing a feature map sheet with the
following details,
• Feature
• Business value
• Selling Value
• Number of customers who are actively using it
Identify The Core Product
www.techcello.com
Identify Variations From Core Product
• Once you identify your core product the next step is to find out the
variations in these features and additional features that you have
supported for other customers.
• It is very important to understand the kinds/types of variations and
level of complexity it is going to introduce when you want to merge
and support all these variations into a single code base.
• The variations can be categorized as one of the following items.
Identify Variations From Core Product
www.techcello.com
Identify View Level Changes
• Label level text changes in the view - Customers can demand different
label texts for fields in order to be consistent with their nomenclature. For
example in an employee management system- one customer could call an
employee identifier an “Employee number” while another customer could
call it “ID number”
• Simple validation changes - Customers can demand different validation
requirements for the fields. For example, one customer might require the
employee number in certain format and the other customer might need in
a different format
• Field visibility - The number of fields required by one customer might vary
from other customer. For example, in an employee management system
some customers need Passport details and some would not want to show
the field.
Identify View Level Changes
www.techcello.com
Identify Data Level Changes
• Additional information fields - Customers might need additional
fields to be captured than what is offered in the product and the
kind of fields can vary from customer to customer. For example in a
loan processing system, the kind of information fields that the
system has to capture could completely vary from one lending
organization to another.
• Data level validations - Some customers might need different
validation logic across fields. In the same example above one
lending organization could need different validation logic for the
fields from another.
Identify Data Level Changes
www.techcello.com
Identify Workflow and Integration Changes
• Business process level changes - Manual workflow could be
different based on the customer. For example, in a SCM order
processing workflow could be different between customers
Identify Workflow Changes
• On premise integration - Some customers might require their on-
premise systems to be integrated at certain scenarios while others
might have a different scenario for integration
Identify Integration Changes
• Ad-hoc Reports - Some customers might demand additional
reports on top of the pre-canned reports for viewing and export
purposes. These report needs could be completely different between
one customer to another
Identify Additional Reports
www.techcello.com
Identify Additional Features
• Additional informational screens - Some customers might require
additional screens to capture information for ad-hoc use cases. For
example, in an employee management system one customer might
want to capture training related details of an employee other than
what is offered in the product and another might want to capture
vehicle details of the employee.
• Changes in existing features - Customers can demand completely
different navigations, business logic within existing features.
Identify Additional Features
www.techcello.com
Technical Design Approach
• Once you identify and categorize the
variations, the next step is to see if at all these
variations can be accomplished via a single
code base.
• The good news is 99% of these variations can
be achieved with a single code base by
building a proper configuration framework.
• A configuration framework mostly comprises
of,
• Field Metadata system
• Data Metadata System
• Configurable workflows
• Configurable Web Hooks
• Configurable Reports
www.techcello.com
Technical Design Approach
• Even with a solid configuration
framework, products may still demand (to
meet the 1% variation) different coding level
implementation to address the customer
variations.
• To achieve this instead of maintaining
different code bases it is advisable to adopt
configurable tenant based code extensions
where the extensions get executed at the
right scenarios for the respective customer.
• The architecture of your core product would
look something like the following.
www.techcello.com
Typical Multi-Tenant Architecture
www.techcello.com
TechCello – For SaaS Migration
• Once the technical approach is arrived, ISVs can be assured of the
move towards Multi Tenancy and start their migration.
• For more details on SaaS Migration Strategies, please download the
following whitepaper “SaaS Migration Strategy”
http://resources.techcello.com/Whitepaper-SaaS-Migration
• TechCello's SaaS development framework inherently builds
configurability to your SaaS application via which all the variations we
discussed earlier can be easily addressed.
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 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.
www.techcello.com
Contact Us
http://www.techcello.com
sales@techcello.com

More Related Content

Viewers also liked

Webinar Series Part 2 -Recipe for a Successful SaaS Company - Migrating Sing...
Webinar Series Part 2 -Recipe for a Successful SaaS Company -  Migrating Sing...Webinar Series Part 2 -Recipe for a Successful SaaS Company -  Migrating Sing...
Webinar Series Part 2 -Recipe for a Successful SaaS Company - Migrating Sing...Techcello
 
ASP.NET Core and Docker
ASP.NET Core and DockerASP.NET Core and Docker
ASP.NET Core and DockerIan Philpot
 
10 features to check out in your subscription management solution
10 features to check out in your subscription management solution10 features to check out in your subscription management solution
10 features to check out in your subscription management solutionTechcello
 
Cloud architecture from the field v1 (in touch)
Cloud architecture from the field v1 (in touch)Cloud architecture from the field v1 (in touch)
Cloud architecture from the field v1 (in touch)Tihomir Ignatov
 
Design Strategy for Data Isolation in SaaS Model
Design Strategy for Data Isolation in SaaS ModelDesign Strategy for Data Isolation in SaaS Model
Design Strategy for Data Isolation in SaaS ModelTechcello
 
Unicom DevCon - CI/CD for Asp.net core apps using Docker
Unicom DevCon - CI/CD for Asp.net core apps using DockerUnicom DevCon - CI/CD for Asp.net core apps using Docker
Unicom DevCon - CI/CD for Asp.net core apps using DockerSwaminathan Vetri
 
Docker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersDocker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersAnthony Chu
 
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...Jason Himmelstein
 
Leveraging azure and cello for multi tenancy
Leveraging azure and cello for multi tenancyLeveraging azure and cello for multi tenancy
Leveraging azure and cello for multi tenancyTechcello
 
Scaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersScaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersoazabir
 
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...MongoDB
 
(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy
(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy
(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeployAmazon Web Services
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsBen Hall
 
A pattern language for microservices (#SFMicroservices)
A pattern language for microservices (#SFMicroservices)A pattern language for microservices (#SFMicroservices)
A pattern language for microservices (#SFMicroservices)Chris Richardson
 
Recipe for Successful SaaS Company - Part 1
Recipe for Successful SaaS Company - Part 1Recipe for Successful SaaS Company - Part 1
Recipe for Successful SaaS Company - Part 1Techcello
 
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...Felix Gessert
 
Developing event-driven microservices with event sourcing and CQRS (london Ja...
Developing event-driven microservices with event sourcing and CQRS (london Ja...Developing event-driven microservices with event sourcing and CQRS (london Ja...
Developing event-driven microservices with event sourcing and CQRS (london Ja...Chris Richardson
 
Developing microservices with aggregates (melbourne)
Developing microservices with aggregates (melbourne)Developing microservices with aggregates (melbourne)
Developing microservices with aggregates (melbourne)Chris Richardson
 

Viewers also liked (18)

Webinar Series Part 2 -Recipe for a Successful SaaS Company - Migrating Sing...
Webinar Series Part 2 -Recipe for a Successful SaaS Company -  Migrating Sing...Webinar Series Part 2 -Recipe for a Successful SaaS Company -  Migrating Sing...
Webinar Series Part 2 -Recipe for a Successful SaaS Company - Migrating Sing...
 
ASP.NET Core and Docker
ASP.NET Core and DockerASP.NET Core and Docker
ASP.NET Core and Docker
 
10 features to check out in your subscription management solution
10 features to check out in your subscription management solution10 features to check out in your subscription management solution
10 features to check out in your subscription management solution
 
Cloud architecture from the field v1 (in touch)
Cloud architecture from the field v1 (in touch)Cloud architecture from the field v1 (in touch)
Cloud architecture from the field v1 (in touch)
 
Design Strategy for Data Isolation in SaaS Model
Design Strategy for Data Isolation in SaaS ModelDesign Strategy for Data Isolation in SaaS Model
Design Strategy for Data Isolation in SaaS Model
 
Unicom DevCon - CI/CD for Asp.net core apps using Docker
Unicom DevCon - CI/CD for Asp.net core apps using DockerUnicom DevCon - CI/CD for Asp.net core apps using Docker
Unicom DevCon - CI/CD for Asp.net core apps using Docker
 
Docker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersDocker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server Containers
 
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
 
Leveraging azure and cello for multi tenancy
Leveraging azure and cello for multi tenancyLeveraging azure and cello for multi tenancy
Leveraging azure and cello for multi tenancy
 
Scaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersScaling asp.net websites to millions of users
Scaling asp.net websites to millions of users
 
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
 
(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy
(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy
(DEV302) Hosting ASP.Net 5 Apps in AWS with Docker & AWS CodeDeploy
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 
A pattern language for microservices (#SFMicroservices)
A pattern language for microservices (#SFMicroservices)A pattern language for microservices (#SFMicroservices)
A pattern language for microservices (#SFMicroservices)
 
Recipe for Successful SaaS Company - Part 1
Recipe for Successful SaaS Company - Part 1Recipe for Successful SaaS Company - Part 1
Recipe for Successful SaaS Company - Part 1
 
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
 
Developing event-driven microservices with event sourcing and CQRS (london Ja...
Developing event-driven microservices with event sourcing and CQRS (london Ja...Developing event-driven microservices with event sourcing and CQRS (london Ja...
Developing event-driven microservices with event sourcing and CQRS (london Ja...
 
Developing microservices with aggregates (melbourne)
Developing microservices with aggregates (melbourne)Developing microservices with aggregates (melbourne)
Developing microservices with aggregates (melbourne)
 

More from Techcello

Webinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS ApplicationsWebinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS ApplicationsTechcello
 
Whitepaper - Building a scalable & Profitable Saas Business
Whitepaper - Building a scalable & Profitable Saas BusinessWhitepaper - Building a scalable & Profitable Saas Business
Whitepaper - Building a scalable & Profitable Saas BusinessTechcello
 
9 Quotable Quotes About Multi Tenancy
9 Quotable Quotes About Multi Tenancy9 Quotable Quotes About Multi Tenancy
9 Quotable Quotes About Multi TenancyTechcello
 
SaaS Architecture Past and Present
SaaS Architecture Past and PresentSaaS Architecture Past and Present
SaaS Architecture Past and PresentTechcello
 
Single vs. Multi Tenant Cost Comparison
Single vs. Multi Tenant Cost ComparisonSingle vs. Multi Tenant Cost Comparison
Single vs. Multi Tenant Cost ComparisonTechcello
 
Benchmark Maturity of your SaaS Solution
Benchmark Maturity of your SaaS SolutionBenchmark Maturity of your SaaS Solution
Benchmark Maturity of your SaaS SolutionTechcello
 
Security Architecture Best Practices for SaaS Applications
Security Architecture Best Practices for SaaS ApplicationsSecurity Architecture Best Practices for SaaS Applications
Security Architecture Best Practices for SaaS ApplicationsTechcello
 
Saas Challenges and Solutions
Saas Challenges and SolutionsSaas Challenges and Solutions
Saas Challenges and SolutionsTechcello
 
Cello saas scalability architecture
Cello saas scalability architectureCello saas scalability architecture
Cello saas scalability architectureTechcello
 
Cello Saas Brochure
Cello Saas BrochureCello Saas Brochure
Cello Saas BrochureTechcello
 
Techcello at a glance
Techcello at a glanceTechcello at a glance
Techcello at a glanceTechcello
 
Benefits of cello framework
Benefits of cello frameworkBenefits of cello framework
Benefits of cello frameworkTechcello
 
CelloSaaS Getting Started
CelloSaaS Getting StartedCelloSaaS Getting Started
CelloSaaS Getting StartedTechcello
 
Cloud ready Multi-tenant SaaS Application Platform
Cloud ready Multi-tenant SaaS Application PlatformCloud ready Multi-tenant SaaS Application Platform
Cloud ready Multi-tenant SaaS Application PlatformTechcello
 

More from Techcello (14)

Webinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS ApplicationsWebinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS Applications
 
Whitepaper - Building a scalable & Profitable Saas Business
Whitepaper - Building a scalable & Profitable Saas BusinessWhitepaper - Building a scalable & Profitable Saas Business
Whitepaper - Building a scalable & Profitable Saas Business
 
9 Quotable Quotes About Multi Tenancy
9 Quotable Quotes About Multi Tenancy9 Quotable Quotes About Multi Tenancy
9 Quotable Quotes About Multi Tenancy
 
SaaS Architecture Past and Present
SaaS Architecture Past and PresentSaaS Architecture Past and Present
SaaS Architecture Past and Present
 
Single vs. Multi Tenant Cost Comparison
Single vs. Multi Tenant Cost ComparisonSingle vs. Multi Tenant Cost Comparison
Single vs. Multi Tenant Cost Comparison
 
Benchmark Maturity of your SaaS Solution
Benchmark Maturity of your SaaS SolutionBenchmark Maturity of your SaaS Solution
Benchmark Maturity of your SaaS Solution
 
Security Architecture Best Practices for SaaS Applications
Security Architecture Best Practices for SaaS ApplicationsSecurity Architecture Best Practices for SaaS Applications
Security Architecture Best Practices for SaaS Applications
 
Saas Challenges and Solutions
Saas Challenges and SolutionsSaas Challenges and Solutions
Saas Challenges and Solutions
 
Cello saas scalability architecture
Cello saas scalability architectureCello saas scalability architecture
Cello saas scalability architecture
 
Cello Saas Brochure
Cello Saas BrochureCello Saas Brochure
Cello Saas Brochure
 
Techcello at a glance
Techcello at a glanceTechcello at a glance
Techcello at a glance
 
Benefits of cello framework
Benefits of cello frameworkBenefits of cello framework
Benefits of cello framework
 
CelloSaaS Getting Started
CelloSaaS Getting StartedCelloSaaS Getting Started
CelloSaaS Getting Started
 
Cloud ready Multi-tenant SaaS Application Platform
Cloud ready Multi-tenant SaaS Application PlatformCloud ready Multi-tenant SaaS Application Platform
Cloud ready Multi-tenant SaaS Application Platform
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Journey from single tenant model to multi tenant model

  • 1. Journey from Single Tenant Model to Multi-Tenant Model
  • 2. www.techcello.com Single Tenant Model – The Honey Trap • It’s quite common for ISVs moving from an on- premise model to a SaaS model to take the route of Single tenant/hosted model. • After 10-15 customers is when they start realizing the pain of maintaining a single tenant model both from cost and effort as well as from a quality perspective. • When they make an attempt to move towards a multi-tenant model, they are stuck with more strategic decisions than technical decisions. • The foremost roadblock towards the move is – Multiple versions for different customers. • Single tenancy, which once allowed them to customize anything and everything for a customer, will be the biggest business disadvantage for growth. • Imagine the difficulty of maintaining specs, test cases, upgrade plans, technical documentation for all these versions and the effort required for it. Hence, many of these processes are diluted, which leads to onerous confusions and quality defects.
  • 3. www.techcello.com Identify Your Product Challenges Identify the core product Identify Variations From Core Product Identify Data Level Changes Identify Workflow Related Changes Identify Integration Related Changes Identify Additional Reports Identify Additional Features
  • 4. www.techcello.com Identify The Core Product • The first task is for the product management team to identify the right features they want to call as “Core”. • Core is the product that can be marketed to 90+% of the customers without many changes. • This can be easily done by drawing a feature map sheet with the following details, • Feature • Business value • Selling Value • Number of customers who are actively using it Identify The Core Product
  • 5. www.techcello.com Identify Variations From Core Product • Once you identify your core product the next step is to find out the variations in these features and additional features that you have supported for other customers. • It is very important to understand the kinds/types of variations and level of complexity it is going to introduce when you want to merge and support all these variations into a single code base. • The variations can be categorized as one of the following items. Identify Variations From Core Product
  • 6. www.techcello.com Identify View Level Changes • Label level text changes in the view - Customers can demand different label texts for fields in order to be consistent with their nomenclature. For example in an employee management system- one customer could call an employee identifier an “Employee number” while another customer could call it “ID number” • Simple validation changes - Customers can demand different validation requirements for the fields. For example, one customer might require the employee number in certain format and the other customer might need in a different format • Field visibility - The number of fields required by one customer might vary from other customer. For example, in an employee management system some customers need Passport details and some would not want to show the field. Identify View Level Changes
  • 7. www.techcello.com Identify Data Level Changes • Additional information fields - Customers might need additional fields to be captured than what is offered in the product and the kind of fields can vary from customer to customer. For example in a loan processing system, the kind of information fields that the system has to capture could completely vary from one lending organization to another. • Data level validations - Some customers might need different validation logic across fields. In the same example above one lending organization could need different validation logic for the fields from another. Identify Data Level Changes
  • 8. www.techcello.com Identify Workflow and Integration Changes • Business process level changes - Manual workflow could be different based on the customer. For example, in a SCM order processing workflow could be different between customers Identify Workflow Changes • On premise integration - Some customers might require their on- premise systems to be integrated at certain scenarios while others might have a different scenario for integration Identify Integration Changes • Ad-hoc Reports - Some customers might demand additional reports on top of the pre-canned reports for viewing and export purposes. These report needs could be completely different between one customer to another Identify Additional Reports
  • 9. www.techcello.com Identify Additional Features • Additional informational screens - Some customers might require additional screens to capture information for ad-hoc use cases. For example, in an employee management system one customer might want to capture training related details of an employee other than what is offered in the product and another might want to capture vehicle details of the employee. • Changes in existing features - Customers can demand completely different navigations, business logic within existing features. Identify Additional Features
  • 10. www.techcello.com Technical Design Approach • Once you identify and categorize the variations, the next step is to see if at all these variations can be accomplished via a single code base. • The good news is 99% of these variations can be achieved with a single code base by building a proper configuration framework. • A configuration framework mostly comprises of, • Field Metadata system • Data Metadata System • Configurable workflows • Configurable Web Hooks • Configurable Reports
  • 11. www.techcello.com Technical Design Approach • Even with a solid configuration framework, products may still demand (to meet the 1% variation) different coding level implementation to address the customer variations. • To achieve this instead of maintaining different code bases it is advisable to adopt configurable tenant based code extensions where the extensions get executed at the right scenarios for the respective customer. • The architecture of your core product would look something like the following.
  • 13. www.techcello.com TechCello – For SaaS Migration • Once the technical approach is arrived, ISVs can be assured of the move towards Multi Tenancy and start their migration. • For more details on SaaS Migration Strategies, please download the following whitepaper “SaaS Migration Strategy” http://resources.techcello.com/Whitepaper-SaaS-Migration • TechCello's SaaS development framework inherently builds configurability to your SaaS application via which all the variations we discussed earlier can be easily addressed.
  • 14. 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.
  • 15. 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.