what is multi-tenancy?

32
1 Variability in Multi-tenant SaaS Applications Jaap Kabbedijk, MSc. Utrecht University, the Netherlands

Upload: jaap-kabbedijk

Post on 11-May-2015

4.056 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: What is Multi-tenancy?

1

Variability in Multi-tenant SaaS Applications

Jaap Kabbedijk, MSc.Utrecht University, the Netherlands

Page 2: What is Multi-tenancy?

2

What will we discuss?

Introduction

Explanation SaaS history

Explanation Multi-tenancy

Case Studies

Conclusion

Page 3: What is Multi-tenancy?

3

Who am I?

Bachelor Information Sciences @UU

Master Business Informatics @UU

PhD. Candidate on variability in multi-tenant SaaS implimentations

Train for marathon of Paris

Page 4: What is Multi-tenancy?

4

What do all those terms mean?!

Runtime Variability

Multi-tenancy

Software as a Service (SaaS)

Page 5: What is Multi-tenancy?

5

First something completely different!

Based on work of dr. Andy Zaidman (TUDelft)

Page 6: What is Multi-tenancy?

6

Pros and Cons

House Apartment

Effective use of land - +

Privacy + -

Infrastructure sharing - +

Maintenance cost sharing - +

Freedom + -

House: Privacy en freedomApartment: Cost efficiency

Page 7: What is Multi-tenancy?

7

What does this have to do with software?

Page 8: What is Multi-tenancy?

8

Traditional Delivery Life Cycle

Page 9: What is Multi-tenancy?

9

Traditional Deployment Model

Page 10: What is Multi-tenancy?

10

Traditional - Characteristics

Think about the ‘House’ example

Customers have to install and update their own software

Customers manage their own data

Every customers needs his own server to deploy the product

Customizations can easily be done per customer

Page 11: What is Multi-tenancy?

11

Traditional – Disadvantages

High initial costs for customers

Hard to keep up with updates

Lack of expert knowledge

High change of data loss

Page 12: What is Multi-tenancy?

12

Application Server Provider

Data not responsibility customer

Application is hosted at a third party

Multiple products are hosted on the same machine

More efficient use of server compared to the traditional way

Every customer has his own product on the server

Page 13: What is Multi-tenancy?

13

Different Environments

Data not responsibility customer

Everyone uses the same product, but gets his own environment and database

Only one codebase

Reasonably scalable

Page 14: What is Multi-tenancy?

14

Multi-user Solution

Software as a Service (think about the ‘apartment ‘ example)

Data not responsibility customer

A product is offered completely as a ‘service’

Comparable to water or energy

Possibility to serve large number of customers with a limited amount of servers

Facebook, Grooveshark, etc.

Page 15: What is Multi-tenancy?

15

Perfect Solution?

Lower cost for customers

Higher safety of data for the customer

Efficient server use for the hosting provider

But…where are the customizations?

Page 16: What is Multi-tenancy?

16

Multi-tenancy

Data not responsibility customer

A product is offered completely ‘as a service’

Possibility to serve large number of customers with a limited amount of servers

Tenants (customers) can have specific functionality

Combination between the ‘house’ and ‘apartment’ example

Page 17: What is Multi-tenancy?

17

Overview ASP to Multi-tenancy

(Kwok et al., 2008)

Page 18: What is Multi-tenancy?

18

Multi-tenancy: Holy grail?

A hosted solution

Sharing of: Hardware Software Development cost Deployment cost Maintenance cost

Possibility for variability in the product

Page 19: What is Multi-tenancy?

19

Why is not everything multi-tenant?

It is a hype, but many people do not know what it is exactly

Great flexibility in a product can make it difficult to maintain

Single point of failure

Safety

But most of all…most companies don’t know HOW to implement variability!

Page 20: What is Multi-tenancy?

20

What is variability?

Possibility to adapt a software product to a specific situation

Different platform

Different country

Specific customer wishes

Page 21: What is Multi-tenancy?

21

Variability moments

During design Different product for Linux than for Windows

During compilation Point to different sections of code while compiling software for

a specific phone

Linking at installation Linking a product to several additional modules

Run-time When a user of an on-line system wants to change something

Page 22: What is Multi-tenancy?

22

Runtime variability

Page 23: What is Multi-tenancy?

23

Case Studies

Two large product software vendors from the Netherlands Exact AFAS

ERP software

Examine the software architecture of both

Page 24: What is Multi-tenancy?

24

Case 1 - Exact

Page 25: What is Multi-tenancy?

25

Case 1 – Exact

Had (and have) an on-premises solution

Started Exact Online a few years ago

15.000 customers

Database change

All customers (in principle) use the same database and software instance.

Customizations per customer are difficult

Page 26: What is Multi-tenancy?

26

Architecture Exact Online

Page 27: What is Multi-tenancy?

27

Overview ASP to Multi-tenancy

(Kwok et al., 2008)

Page 28: What is Multi-tenancy?

28

Case 2 - AFAS

Page 29: What is Multi-tenancy?

29

Case 2 - AFAS

Originally an on-premises solution

Since a few years: Profit Web

10.000 customers

Every customer has his own environment on the server

Customizations per customer are possible, but are hard to maintain

Page 30: What is Multi-tenancy?

30

Overview ASP to Multi-tenancy

(Kwok et al., 2008)

Page 31: What is Multi-tenancy?

31

My research

Answering the question: “how can variability be implemented in a multi-tenant SaaS

environment?”

My research aims at finding patterns the enable a software vendor to successfully implement variability in a multi-tenant SaaS system

Page 32: What is Multi-tenancy?

32

Questions