Variability in Multi-tenant SaaS Applications: Gastcollege voor het vak ‘Product Software’
Jaap Kabbedijk, MSc. Universiteit Utrecht, Nederland
1
Wat gaan we behandelen?
2
Introductie
Uitleg ontwikkeling SaaS
Uitleg multi-tenancy
Case studies
Conclusie
Wie ben ik?
Bachelor Informatiekunde
Master Business Informatics
3
PhD. kandidaat op het gebied van variabiliteit in Multi-tenant SaaS systemen
Woon in Lunetten
Train voor marathon van Parijs
Wat betekenen toch al die termen?!
4
Runtime Variability
Multi-tenancy
Software as a Service (SaaS)
Even iets anders!
Geinspireerd op Andy Zaidman (TUDelft)
5
Voor- en Nadelen Huis
Appartement
Effectief gebruik land
-
+
Privacy
+
-
Delen infrastructuur
-
+
Delen onderhoudskosten
-
+
Vrijheid
+
-
Huis: Privacy en vrijheid Appartement: Kostenefficient
6
Wat heeft dit met Software te maken?
7
Traditioneel Delivery Management
8
Traditional Deployment Model
9
Traditioneel - Karakteristieken
10
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
Traditioneel – Nadelen
11
Hoge initiele kosten voor gebruikers
Lastig updates bij te houden
Gebrekkige expertise
Kans op dataverlies
Application Server Provider
12
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
Aparte omgevingen
13
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
Multi-user Oplossing
Software as a Service (denk aan het ‘appartement’) Data niet verantwoordelijkheid klant Een product wordt volledig aangeboden als ‘service’
14
Vergelijk met water of energie
Mogelijkheid zeer veel klanten te kunnen bedienen met beperkt aantal servers Facebook, Grooveshark, etc.
Perfecte oplossing?
15
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?
Multi-tenancy
16
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’
Overzicht ASP tot Multi-tenancy
(Kwok et al., 2008)
17
Multi-tenancy: Heilige graal?
Een gehoste oplossing
Delen van:
18
Hardware Software Ontwikkelkosten Deploymentkosten Onderhoudskosten
Mogelijkheid tot variabiliteit binnen het product
Wat is variabiliteit?
19
Mogelijkheid om een software product aan te passen aan een specifieke context
Ander platform
Ander land
Maar ook specifieke klantwensen
Momenten van variabiliteitsimplementatie
Tijdens het ontwerp
Tijdens het compileren
Het verbinden van een product met verschillende modulen
Run-time
20
Het verwijzen naar andere stukken code bij het compileren van software voor een specifieke telefoon
Linken bij oplevering
Ander product voor Linux dan voor Windows
Wanneer een gebruiker van een online product iets wilt veranderen
Runtime variabiliteit
21
Waarom is niet alles Multi-tenant?
De grote flexibiliteit in een product maakt het mogelijk lastig te onderhouden
Single point of failure
Veiligheidsgevoel
22
Het is een hype, maar veel mensen weten niet wat het precies is
Maar vooral…de meeste software bedrijven weten niet goed HOE ze het moeten implementeren
Case Studies
Twee grote product software makers in Nederland
23
Exact AFAS
Maken ERP software Bekijken van de architectuur bij beide
Case 1 - Exact
24
Case 1 – Exact
Hadden (en hebben) een on-premises oplossing
Sinds een aantal jaar begonnen met Exact Online
15.000 klanten
Databaseverandering
25
Alle klanten gebruiken in principe zelfde database en software instance Aanpassingen per klant lastig
Architectuur Exact Online
26
Overzicht ASP tot Multi-tenancy
(Kwok et al., 2008)
27
Case 2 - AFAS
28
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
29
Aanpassingen per klant mogelijk, maar lastig te onderhouden
Overzicht ASP tot Multi-tenancy
(Kwok et al., 2008)
30
Mijn onderzoek Beantwoorden van de vraag: “Hoe kan variabiliteit geimplementeerd worden in een multitenant SaaS omgeving?”
31
Mijn onderzoek richt zich op het achterhalen van patronen waarmee variabiliteit met succes toegepast kan worden binnen multi-tenant SaaS systemen
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] 32
Vragen
33