SlideShare a Scribd company logo
1 of 22
Multi-tenancy with MVC3
 and Entity Framework


              -By Lasantha Bandara
What is a Tenant?
 Literally


“A person who occupies land or property
rented from a landlord”
Is there any better example
than Exilesoft…?
Is there any better example
than Exilesoft…?
                    Moota
Is there any better example
than Exilesoft…?
                    Moota




 Pro-Account
They are Tenants of Exilesoft…

                     Moota




 Pro-Account
Same situation applies to the cloud
based software applications.
 In
   SaaS (Software as a Service) Model
 Most of the web applications are SaaS – But not
  Multi-Tenant…!
 Multi-Tenant Examples,
        Highrise
        Jira
        YaY

 In these systems, organizations make their
  accounts and they are provided a look and feel
  of their own „Home‟
Why this is so important?
 Data   is vital for some businesses.

 Should be able to isolate data among
  tenants in SaaS model.

 If
   we provide it…. We have Competitive
  Advantage.
That implies…

Data Architecture is the most
significant factor in a Multi
Tenant Application.
We can identify 3 different
architectures at present…


   Separate DB – Separate Schema
   Shared DB – Separate Schema
   Shared DB – Shared Schema
Separate DB – Separate Schema




 Extendibilitywith tenant specific requirements
 Easy Backup
 High Cost
 Suitable for Medical and Banking applications in
  spite of high cost
Shared DB – Separate Schema




 Separate   set of tables for each tenant in same
  DB
 Extendible and easy to implement
 Suitable if No. of Tenants < 100
 Low cost than the previous one
Shared DB – Shared Schema




 Lowest  Cost
 Additional development effort
 Less security
 Each row contains tenant Id
 Suitable for a huge cluster of tiny tenants
Choosing an approach
   Cost Based
Security



  Shared   Isolated
Tenant Attributes
 Regularity Consideration
  (legal requirements of companies)


 Skills set of development team

                             etc…
 InYayCRM we have invented a model
  that is supported all those architectures

 You    can,
        - distribute databases in a server farm
        - expand and shrink the number of
        databases
        - move tenants among databases
Metadata      Tenant
          Database     Databases




Client   Application
           Server
Let’s go to demo…
Multi tenancy with mvc3 and entity framework

More Related Content

What's hot

Multi-tenancy: Winning formula for a PaaS
Multi-tenancy: Winning formula for a PaaSMulti-tenancy: Winning formula for a PaaS
Multi-tenancy: Winning formula for a PaaSSrinath Perera
 
Microsoft And Cloud Computing
Microsoft And Cloud ComputingMicrosoft And Cloud Computing
Microsoft And Cloud ComputingDavid Chou
 
Microsoft Cloud Computing
Microsoft Cloud ComputingMicrosoft Cloud Computing
Microsoft Cloud ComputingDavid Chou
 
Multi-tenancy in Private Clouds
Multi-tenancy in Private CloudsMulti-tenancy in Private Clouds
Multi-tenancy in Private CloudsPatrick Nicolas
 
Multi-tenancy In the Cloud
Multi-tenancy In the CloudMulti-tenancy In the Cloud
Multi-tenancy In the Cloudsdevillers
 
Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingSrinath Perera
 
DBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs WorldDBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs WorldKellyn Pot'Vin-Gorman
 
Data Management Gateway - Deep Dive
Data Management Gateway - Deep DiveData Management Gateway - Deep Dive
Data Management Gateway - Deep DiveJean-Pierre Riehl
 
Saas & DBaas
Saas & DBaasSaas & DBaas
Saas & DBaasalkuzaee
 
Introduction of cloud computing
Introduction of cloud computingIntroduction of cloud computing
Introduction of cloud computingSuman Sharma
 
CLOUD DATABASE DATABASE AS A SERVICE
CLOUD DATABASE DATABASE AS A SERVICECLOUD DATABASE DATABASE AS A SERVICE
CLOUD DATABASE DATABASE AS A SERVICEijdms
 
Cloud computing saas
Cloud computing   saasCloud computing   saas
Cloud computing saasYukti Kaura
 
Real World Azure - Dev
Real World Azure - DevReal World Azure - Dev
Real World Azure - DevClint Edmonson
 
ELEKS DevTalks #4: Amazon Web Services Crash Course
ELEKS DevTalks #4: Amazon Web Services Crash CourseELEKS DevTalks #4: Amazon Web Services Crash Course
ELEKS DevTalks #4: Amazon Web Services Crash CourseYuriy Guts
 
SAAS - Software as a Service
SAAS - Software as a ServiceSAAS - Software as a Service
SAAS - Software as a ServiceDev S Paul
 
Private Cloud vs. VPS
Private Cloud vs. VPSPrivate Cloud vs. VPS
Private Cloud vs. VPSHTS Hosting
 
Private Cloud Architecture
Private Cloud ArchitecturePrivate Cloud Architecture
Private Cloud ArchitectureDerek Keats
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure PlatformSoumow Dollon
 
SQL Server Database as a Cloud Service
SQL Server Database as a Cloud ServiceSQL Server Database as a Cloud Service
SQL Server Database as a Cloud ServicePio Balistoy
 

What's hot (20)

Multi-tenancy: Winning formula for a PaaS
Multi-tenancy: Winning formula for a PaaSMulti-tenancy: Winning formula for a PaaS
Multi-tenancy: Winning formula for a PaaS
 
Microsoft And Cloud Computing
Microsoft And Cloud ComputingMicrosoft And Cloud Computing
Microsoft And Cloud Computing
 
Microsoft Cloud Computing
Microsoft Cloud ComputingMicrosoft Cloud Computing
Microsoft Cloud Computing
 
Multi-tenancy in Private Clouds
Multi-tenancy in Private CloudsMulti-tenancy in Private Clouds
Multi-tenancy in Private Clouds
 
Multi-tenancy In the Cloud
Multi-tenancy In the CloudMulti-tenancy In the Cloud
Multi-tenancy In the Cloud
 
Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud Computing
 
DBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs WorldDBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs World
 
Data Management Gateway - Deep Dive
Data Management Gateway - Deep DiveData Management Gateway - Deep Dive
Data Management Gateway - Deep Dive
 
Azure services
Azure servicesAzure services
Azure services
 
Saas & DBaas
Saas & DBaasSaas & DBaas
Saas & DBaas
 
Introduction of cloud computing
Introduction of cloud computingIntroduction of cloud computing
Introduction of cloud computing
 
CLOUD DATABASE DATABASE AS A SERVICE
CLOUD DATABASE DATABASE AS A SERVICECLOUD DATABASE DATABASE AS A SERVICE
CLOUD DATABASE DATABASE AS A SERVICE
 
Cloud computing saas
Cloud computing   saasCloud computing   saas
Cloud computing saas
 
Real World Azure - Dev
Real World Azure - DevReal World Azure - Dev
Real World Azure - Dev
 
ELEKS DevTalks #4: Amazon Web Services Crash Course
ELEKS DevTalks #4: Amazon Web Services Crash CourseELEKS DevTalks #4: Amazon Web Services Crash Course
ELEKS DevTalks #4: Amazon Web Services Crash Course
 
SAAS - Software as a Service
SAAS - Software as a ServiceSAAS - Software as a Service
SAAS - Software as a Service
 
Private Cloud vs. VPS
Private Cloud vs. VPSPrivate Cloud vs. VPS
Private Cloud vs. VPS
 
Private Cloud Architecture
Private Cloud ArchitecturePrivate Cloud Architecture
Private Cloud Architecture
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure Platform
 
SQL Server Database as a Cloud Service
SQL Server Database as a Cloud ServiceSQL Server Database as a Cloud Service
SQL Server Database as a Cloud Service
 

Similar to Multi tenancy with mvc3 and entity framework

ON event - May 2010
ON event - May 2010ON event - May 2010
ON event - May 2010Ben Kepes
 
Business and Online Services - Ben Kepes
Business and Online Services - Ben KepesBusiness and Online Services - Ben Kepes
Business and Online Services - Ben KepesIntergen
 
Making Sense Of Cloud Computing - by Mark Rivington
Making Sense Of Cloud Computing - by Mark RivingtonMaking Sense Of Cloud Computing - by Mark Rivington
Making Sense Of Cloud Computing - by Mark RivingtonCA Nimsoft
 
Moving Legacy Apps to Cloud: How to Avoid Risk
Moving Legacy Apps to Cloud: How to Avoid RiskMoving Legacy Apps to Cloud: How to Avoid Risk
Moving Legacy Apps to Cloud: How to Avoid RiskCloverDX
 
Best cloud computing training institute in noida
Best cloud computing training institute in noidaBest cloud computing training institute in noida
Best cloud computing training institute in noidataramandal
 
Over view of cloud computing
Over view of cloud computingOver view of cloud computing
Over view of cloud computingAhsan Shuvo
 
Fault Tolerance in AWS Distributed Cloud Computing
Fault Tolerance in AWS Distributed Cloud ComputingFault Tolerance in AWS Distributed Cloud Computing
Fault Tolerance in AWS Distributed Cloud ComputingCaner KAYA
 
Presentation copy
Presentation   copyPresentation   copy
Presentation copyAdel Zalok
 
Keeping the Noisy Neighbors Happy
Keeping the Noisy Neighbors HappyKeeping the Noisy Neighbors Happy
Keeping the Noisy Neighbors HappyEran Stiller
 
The Risks and Rewards of Big Data in the Cloud
The Risks and Rewards of Big Data in the CloudThe Risks and Rewards of Big Data in the Cloud
The Risks and Rewards of Big Data in the CloudSocial Media Today
 
CWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der walCWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der walCapgemini
 
Cloud Computing - Security Benefits and Risks
Cloud Computing - Security Benefits and RisksCloud Computing - Security Benefits and Risks
Cloud Computing - Security Benefits and RisksWilliam McBorrough
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architectureAdeel Javaid
 
An introduction to the cloud 11 v1
An introduction to the cloud 11 v1An introduction to the cloud 11 v1
An introduction to the cloud 11 v1charan7575
 
Integration Patterns and Anti-Patterns for Microservices Architectures
Integration Patterns and Anti-Patterns for Microservices ArchitecturesIntegration Patterns and Anti-Patterns for Microservices Architectures
Integration Patterns and Anti-Patterns for Microservices ArchitecturesApcera
 
Cloud computing and Cloud Security - Basics and Terminologies
Cloud computing and Cloud Security - Basics and TerminologiesCloud computing and Cloud Security - Basics and Terminologies
Cloud computing and Cloud Security - Basics and TerminologiesTechsparks
 

Similar to Multi tenancy with mvc3 and entity framework (20)

Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
ON event - May 2010
ON event - May 2010ON event - May 2010
ON event - May 2010
 
Business and Online Services - Ben Kepes
Business and Online Services - Ben KepesBusiness and Online Services - Ben Kepes
Business and Online Services - Ben Kepes
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Making Sense Of Cloud Computing - by Mark Rivington
Making Sense Of Cloud Computing - by Mark RivingtonMaking Sense Of Cloud Computing - by Mark Rivington
Making Sense Of Cloud Computing - by Mark Rivington
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Moving Legacy Apps to Cloud: How to Avoid Risk
Moving Legacy Apps to Cloud: How to Avoid RiskMoving Legacy Apps to Cloud: How to Avoid Risk
Moving Legacy Apps to Cloud: How to Avoid Risk
 
Best cloud computing training institute in noida
Best cloud computing training institute in noidaBest cloud computing training institute in noida
Best cloud computing training institute in noida
 
Over view of cloud computing
Over view of cloud computingOver view of cloud computing
Over view of cloud computing
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Fault Tolerance in AWS Distributed Cloud Computing
Fault Tolerance in AWS Distributed Cloud ComputingFault Tolerance in AWS Distributed Cloud Computing
Fault Tolerance in AWS Distributed Cloud Computing
 
Presentation copy
Presentation   copyPresentation   copy
Presentation copy
 
Keeping the Noisy Neighbors Happy
Keeping the Noisy Neighbors HappyKeeping the Noisy Neighbors Happy
Keeping the Noisy Neighbors Happy
 
The Risks and Rewards of Big Data in the Cloud
The Risks and Rewards of Big Data in the CloudThe Risks and Rewards of Big Data in the Cloud
The Risks and Rewards of Big Data in the Cloud
 
CWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der walCWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der wal
 
Cloud Computing - Security Benefits and Risks
Cloud Computing - Security Benefits and RisksCloud Computing - Security Benefits and Risks
Cloud Computing - Security Benefits and Risks
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
 
An introduction to the cloud 11 v1
An introduction to the cloud 11 v1An introduction to the cloud 11 v1
An introduction to the cloud 11 v1
 
Integration Patterns and Anti-Patterns for Microservices Architectures
Integration Patterns and Anti-Patterns for Microservices ArchitecturesIntegration Patterns and Anti-Patterns for Microservices Architectures
Integration Patterns and Anti-Patterns for Microservices Architectures
 
Cloud computing and Cloud Security - Basics and Terminologies
Cloud computing and Cloud Security - Basics and TerminologiesCloud computing and Cloud Security - Basics and Terminologies
Cloud computing and Cloud Security - Basics and Terminologies
 

Multi tenancy with mvc3 and entity framework

  • 1. Multi-tenancy with MVC3 and Entity Framework -By Lasantha Bandara
  • 2. What is a Tenant?  Literally “A person who occupies land or property rented from a landlord”
  • 3. Is there any better example than Exilesoft…?
  • 4. Is there any better example than Exilesoft…? Moota
  • 5. Is there any better example than Exilesoft…? Moota Pro-Account
  • 6. They are Tenants of Exilesoft… Moota Pro-Account
  • 7. Same situation applies to the cloud based software applications.  In SaaS (Software as a Service) Model  Most of the web applications are SaaS – But not Multi-Tenant…!  Multi-Tenant Examples,  Highrise  Jira  YaY  In these systems, organizations make their accounts and they are provided a look and feel of their own „Home‟
  • 8. Why this is so important?  Data is vital for some businesses.  Should be able to isolate data among tenants in SaaS model.  If we provide it…. We have Competitive Advantage.
  • 9. That implies… Data Architecture is the most significant factor in a Multi Tenant Application.
  • 10. We can identify 3 different architectures at present…  Separate DB – Separate Schema  Shared DB – Separate Schema  Shared DB – Shared Schema
  • 11. Separate DB – Separate Schema  Extendibilitywith tenant specific requirements  Easy Backup  High Cost  Suitable for Medical and Banking applications in spite of high cost
  • 12. Shared DB – Separate Schema  Separate set of tables for each tenant in same DB  Extendible and easy to implement  Suitable if No. of Tenants < 100  Low cost than the previous one
  • 13. Shared DB – Shared Schema  Lowest Cost  Additional development effort  Less security  Each row contains tenant Id  Suitable for a huge cluster of tiny tenants
  • 15. Security Shared Isolated
  • 17.  Regularity Consideration (legal requirements of companies)  Skills set of development team etc…
  • 18.  InYayCRM we have invented a model that is supported all those architectures  You can, - distribute databases in a server farm - expand and shrink the number of databases - move tenants among databases
  • 19. Metadata Tenant Database Databases Client Application Server
  • 20.
  • 21. Let’s go to demo…