gastcollege product software

33
1 Variability in Multi-tenant SaaS Applications: Gastcollege voor het vak ‘Product Software’ Jaap Kabbedijk, MSc. Universiteit Utrecht, Nederland

Upload: jaap-kabbedijk

Post on 11-May-2015

316 views

Category:

Documents


0 download

DESCRIPTION

Nederlandse presentatie over variabiliteit in multi-tenant SaaS producten

TRANSCRIPT

Page 1: Gastcollege Product Software

1

Variability in Multi-tenant SaaS Applications:

Gastcollege voor het vak ‘Product

Software’

Jaap Kabbedijk, MSc.Universiteit Utrecht, Nederland

Page 2: Gastcollege Product Software

2

Wat gaan we behandelen?

Introductie

Uitleg ontwikkeling SaaS

Uitleg multi-tenancy

Case studies

Conclusie

Page 3: Gastcollege Product Software

3

Wie ben ik?

Bachelor Informatiekunde

Master Business Informatics

PhD. kandidaat op het gebied van variabiliteit in Multi-tenant SaaS systemen

Woon in Lunetten

Train voor marathon van Parijs

Page 4: Gastcollege Product Software

4

Wat betekenen toch al die termen?!

Runtime Variability

Multi-tenancy

Software as a Service (SaaS)

Page 5: Gastcollege Product Software

5

Even iets anders!

Geinspireerd op Andy Zaidman (TUDelft)

Page 6: Gastcollege Product Software

6

Voor- en Nadelen

Huis Appartement

Effectief gebruik land - +

Privacy + -

Delen infrastructuur - +

Delen onderhoudskosten - +

Vrijheid + -

Huis: Privacy en vrijheidAppartement: Kostenefficient

Page 7: Gastcollege Product Software

7

Wat heeft dit met Software te maken?

Page 8: Gastcollege Product Software

8

Traditioneel Delivery Management

Page 9: Gastcollege Product Software

9

Traditional Deployment Model

Page 10: Gastcollege Product Software

10

Traditioneel - Karakteristieken

Denk aan het ‘Huis’

Klanten moeten zelf het product installeren en up-to-date houden

Klanten beheren hun eigen data

Iedere klant heeft minimaal 1 pc/server nodig om het product te draaien

Aanpassingen en specifieke wensen kunnen per product gedaan worden

Page 11: Gastcollege Product Software

11

Traditioneel – Nadelen

Hoge initiele kosten voor gebruikers

Lastig updates bij te houden

Gebrekkige expertise

Kans op dataverlies

Page 12: Gastcollege Product Software

12

Application Server Provider

Data niet verantwoordelijkheid klant

Applicatie wordt bij een derde partij gehost

Meerdere producten worden op 1 machine gehost

Efficienter gebruik servers ten opzichte van traditionele situatie

Iedere gebruiker heeft een volledig eigen product op de server

Page 13: Gastcollege Product Software

13

Aparte omgevingen

Data niet verantwoordelijkheid klant

Iedereen gebruikt het zelfde product, maar krijgt een eigen omgeving voor de data en voorkeuren

Slechts 1 codebase

Schaalt tot op zekere hoogte

Page 14: Gastcollege Product Software

14

Multi-user Oplossing

Software as a Service (denk aan het ‘appartement’)

Data niet verantwoordelijkheid klant

Een product wordt volledig aangeboden als ‘service’

Vergelijk met water of energie

Mogelijkheid zeer veel klanten te kunnen bedienen met beperkt aantal servers

Facebook, Grooveshark, etc.

Page 15: Gastcollege Product Software

15

Perfecte oplossing?

Minder kosten voor de klant

Meer veiligheid van de data voor de klant

Efficient servergebruik voor de hosting provider

Maar….waar zijn de specifieke wensen gebleven?

Page 16: Gastcollege Product Software

16

Multi-tenancy

Data niet verantwoordelijkheid klant

Een product wordt volledig aangeboden als ‘service’

Mogelijkheid zeer veel klanten te kunnen bedienen met beperkt aantal servers

Tenants (gebruikers) kunnen functionaliteit naar eigen wens aanpassen.

Combinatie tussen het ‘huis’ en het ‘appartement’

Page 17: Gastcollege Product Software

17

Overzicht ASP tot Multi-tenancy

(Kwok et al., 2008)

Page 18: Gastcollege Product Software

18

Multi-tenancy: Heilige graal?

Een gehoste oplossing

Delen van: Hardware Software Ontwikkelkosten Deploymentkosten Onderhoudskosten

Mogelijkheid tot variabiliteit binnen het product

Page 19: Gastcollege Product Software

19

Wat is variabiliteit?

Mogelijkheid om een software product aan te passen aan een specifieke context

Ander platform

Ander land

Maar ook specifieke klantwensen

Page 20: Gastcollege Product Software

20

Momenten van variabiliteitsimplementatie

Tijdens het ontwerp Ander product voor Linux dan voor Windows

Tijdens het compileren Het verwijzen naar andere stukken code bij het compileren van

software voor een specifieke telefoon

Linken bij oplevering Het verbinden van een product met verschillende modulen

Run-time Wanneer een gebruiker van een online product iets wilt

veranderen

Page 21: Gastcollege Product Software

21

Runtime variabiliteit

Page 22: Gastcollege Product Software

22

Waarom is niet alles Multi-tenant?

Het is een hype, maar veel mensen weten niet wat het precies is

De grote flexibiliteit in een product maakt het mogelijk lastig te onderhouden

Single point of failure

Veiligheidsgevoel

Maar vooral…de meeste software bedrijven weten niet goed HOE ze het moeten implementeren

Page 23: Gastcollege Product Software

23

Case Studies

Twee grote product software makers in Nederland Exact AFAS

Maken ERP software

Bekijken van de architectuur bij beide

Page 24: Gastcollege Product Software

24

Case 1 - Exact

Page 25: Gastcollege Product Software

25

Case 1 – Exact

Hadden (en hebben) een on-premises oplossing

Sinds een aantal jaar begonnen met Exact Online

15.000 klanten

Databaseverandering

Alle klanten gebruiken in principe zelfde database en software instance

Aanpassingen per klant lastig

Page 26: Gastcollege Product Software

26

Architectuur Exact Online

Page 27: Gastcollege Product Software

27

Overzicht ASP tot Multi-tenancy

(Kwok et al., 2008)

Page 28: Gastcollege Product Software

28

Case 2 - AFAS

Page 29: Gastcollege Product Software

29

Case 2 - AFAS

Origineel een on-premises oplossing

Sinds een aantal jaar Profit Web

10.000 gebruikers

Iedere gebruiker heeft een eigen omgeving op de server

Aanpassingen per klant mogelijk, maar lastig te onderhouden

Page 30: Gastcollege Product Software

30

Overzicht ASP tot Multi-tenancy

(Kwok et al., 2008)

Page 31: Gastcollege Product Software

31

Mijn onderzoek

Beantwoorden van de vraag: “Hoe kan variabiliteit geimplementeerd worden in een multi-

tenant SaaS omgeving?”

Mijn onderzoek richt zich op het achterhalen van patronen waarmee variabiliteit met succes toegepast kan worden binnen multi-tenant SaaS systemen

Page 32: Gastcollege Product Software

32

Wil jij meehelpen binnen dit onderzoek?

Het identificeren van variabiliteits-patronen gebruikt binnen een software product (Case Study - 15ECTS)

Uitzoeken hoe een specifiek patroon om variabiliteit in een multi-tenant software product te krijgen wordt toegepast binnen een software bedrijf (Case Study - 15ECTS)

Het evalueren van patronen op verschillende aspecten, zoals schaalbaarheid of implementatiekosten (Expert Interview – 7.5ECTS)

[email protected]

Page 33: Gastcollege Product Software

33

Vragen