What is Multi-tenancy?


Published on

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

What is Multi-tenancy?

  1. 1. Variability in Multi-tenant SaaS Applications Jaap Kabbedijk, MSc. Utrecht University, the Netherlands
  2. 2. What will we discuss? <ul><li>Introduction </li></ul><ul><li>Explanation SaaS history </li></ul><ul><li>Explanation Multi-tenancy </li></ul><ul><li>Case Studies </li></ul><ul><li>Conclusion </li></ul>
  3. 3. Who am I? <ul><li>Bachelor Information Sciences @UU </li></ul><ul><li>Master Business Informatics @UU </li></ul><ul><li>PhD. Candidate on variability in multi-tenant SaaS implimentations </li></ul><ul><li>Train for marathon of Paris </li></ul>
  4. 4. What do all those terms mean?! <ul><li>Runtime Variability </li></ul><ul><li>Multi-tenancy </li></ul><ul><li>Software as a Service (SaaS) </li></ul>
  5. 5. First something completely different! Based on work of dr. Andy Zaidman (TUDelft)
  6. 6. Pros and Cons House : Privacy en freedom Apartment : Cost efficiency House Apartment Effective use of land - + Privacy + - Infrastructure sharing - + Maintenance cost sharing - + Freedom + -
  7. 7. <ul><li>What does this have to do with software? </li></ul>
  8. 8. Traditional Delivery Life Cycle
  9. 9. Traditional Deployment Model
  10. 10. Traditional - Characteristics <ul><li>Think about the ‘House’ example </li></ul><ul><li>Customers have to install and update their own software </li></ul><ul><li>Customers manage their own data </li></ul><ul><li>Every customers needs his own server to deploy the product </li></ul><ul><li>Customizations can easily be done per customer </li></ul>
  11. 11. Traditional – Disadvantages <ul><li>High initial costs for customers </li></ul><ul><li>Hard to keep up with updates </li></ul><ul><li>Lack of expert knowledge </li></ul><ul><li>High change of data loss </li></ul>
  12. 12. Application Server Provider <ul><li>Data not responsibility customer </li></ul><ul><li>Application is hosted at a third party </li></ul><ul><li>Multiple products are hosted on the same machine </li></ul><ul><li>More efficient use of server compared to the traditional way </li></ul><ul><li>Every customer has his own product on the server </li></ul>
  13. 13. Different Environments <ul><li>Data not responsibility customer </li></ul><ul><li>Everyone uses the same product, but gets his own environment and database </li></ul><ul><li>Only one codebase </li></ul><ul><li>Reasonably scalable </li></ul>
  14. 14. Multi-user Solution <ul><li>Software as a Service (think about the ‘apartment ‘ example) </li></ul><ul><li>Data not responsibility customer </li></ul><ul><li>A product is offered completely as a ‘service’ </li></ul><ul><ul><li>Comparable to water or energy </li></ul></ul><ul><li>Possibility to serve large number of customers with a limited amount of servers </li></ul><ul><li>Facebook, Grooveshark, etc. </li></ul>
  15. 15. Perfect Solution? <ul><li>Lower cost for customers </li></ul><ul><li>Higher safety of data for the customer </li></ul><ul><li>Efficient server use for the hosting provider </li></ul><ul><li>But…where are the customizations? </li></ul>
  16. 16. Multi-tenancy <ul><li>Data not responsibility customer </li></ul><ul><li>A product is offered completely ‘as a service’ </li></ul><ul><li>Possibility to serve large number of customers with a limited amount of servers </li></ul><ul><li>Tenants (customers) can have specific functionality </li></ul><ul><li>Combination between the ‘house’ and ‘apartment’ example </li></ul>
  17. 17. Overview ASP to Multi-tenancy (Kwok et al., 2008)
  18. 18. Multi-tenancy: Holy grail? <ul><li>A hosted solution </li></ul><ul><li>Sharing of: </li></ul><ul><ul><li>Hardware </li></ul></ul><ul><ul><li>Software </li></ul></ul><ul><ul><li>Development cost </li></ul></ul><ul><ul><li>Deployment cost </li></ul></ul><ul><ul><li>Maintenance cost </li></ul></ul><ul><li>Possibility for variability in the product </li></ul>
  19. 19. Why is not everything multi-tenant? <ul><li>It is a hype, but many people do not know what it is exactly </li></ul><ul><li>Great flexibility in a product can make it difficult to maintain </li></ul><ul><li>Single point of failure </li></ul><ul><li>Safety </li></ul><ul><li>But most of all…most companies don’t know HOW to implement variability! </li></ul>
  20. 20. What is variability? <ul><li>Possibility to adapt a software product to a specific situation </li></ul><ul><ul><li>Different platform </li></ul></ul><ul><ul><li>Different country </li></ul></ul><ul><ul><li>Specific customer wishes </li></ul></ul>
  21. 21. Variability moments <ul><li>During design </li></ul><ul><ul><li>Different product for Linux than for Windows </li></ul></ul><ul><li>During compilation </li></ul><ul><ul><li>Point to different sections of code while compiling software for a specific phone </li></ul></ul><ul><li>Linking at installation </li></ul><ul><ul><li>Linking a product to several additional modules </li></ul></ul><ul><li>Run-time </li></ul><ul><ul><li>When a user of an on-line system wants to change something </li></ul></ul>
  22. 22. Runtime variability
  23. 23. Case Studies <ul><li>Two large product software vendors from the Netherlands </li></ul><ul><ul><li>Exact </li></ul></ul><ul><ul><li>AFAS </li></ul></ul><ul><li>ERP software </li></ul><ul><li>Examine the software architecture of both </li></ul>
  24. 24. Case 1 - Exact
  25. 25. Case 1 – Exact <ul><li>Had (and have) an on-premises solution </li></ul><ul><li>Started Exact Online a few years ago </li></ul><ul><li>15.000 customers </li></ul><ul><li>Database change </li></ul><ul><li>All customers (in principle) use the same database and software instance. </li></ul><ul><li>Customizations per customer are difficult </li></ul>
  26. 26. Architecture Exact Online
  27. 27. Overview ASP to Multi-tenancy (Kwok et al., 2008)
  28. 28. Case 2 - AFAS
  29. 29. Case 2 - AFAS <ul><li>Originally an on-premises solution </li></ul><ul><li>Since a few years: Profit Web </li></ul><ul><li>10.000 customers </li></ul><ul><li>Every customer has his own environment on the server </li></ul><ul><li>Customizations per customer are possible, but are hard to maintain </li></ul>
  30. 30. Overview ASP to Multi-tenancy (Kwok et al., 2008)
  31. 31. My research <ul><li>Answering the question: </li></ul><ul><li>“ how can variability be implemented in a multi-tenant SaaS environment?” </li></ul><ul><li>My research aims at finding patterns the enable a software vendor to successfully implement variability in a multi-tenant SaaS system </li></ul>
  32. 32. Questions