gastcollege product software
DESCRIPTION
Nederlandse presentatie over variabiliteit in multi-tenant SaaS productenTRANSCRIPT
1
Variability in Multi-tenant SaaS Applications:
Gastcollege voor het vak ‘Product
Software’
Jaap Kabbedijk, MSc.Universiteit Utrecht, Nederland
2
Wat gaan we behandelen?
Introductie
Uitleg ontwikkeling SaaS
Uitleg multi-tenancy
Case studies
Conclusie
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
4
Wat betekenen toch al die termen?!
Runtime Variability
Multi-tenancy
Software as a Service (SaaS)
5
Even iets anders!
Geinspireerd op Andy Zaidman (TUDelft)
6
Voor- en Nadelen
Huis Appartement
Effectief gebruik land - +
Privacy + -
Delen infrastructuur - +
Delen onderhoudskosten - +
Vrijheid + -
Huis: Privacy en vrijheidAppartement: Kostenefficient
7
Wat heeft dit met Software te maken?
8
Traditioneel Delivery Management
9
Traditional Deployment Model
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
11
Traditioneel – Nadelen
Hoge initiele kosten voor gebruikers
Lastig updates bij te houden
Gebrekkige expertise
Kans op dataverlies
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
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
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.
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?
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’
17
Overzicht ASP tot Multi-tenancy
(Kwok et al., 2008)
18
Multi-tenancy: Heilige graal?
Een gehoste oplossing
Delen van: Hardware Software Ontwikkelkosten Deploymentkosten Onderhoudskosten
Mogelijkheid tot variabiliteit binnen het product
19
Wat is variabiliteit?
Mogelijkheid om een software product aan te passen aan een specifieke context
Ander platform
Ander land
Maar ook specifieke klantwensen
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
21
Runtime variabiliteit
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
23
Case Studies
Twee grote product software makers in Nederland Exact AFAS
Maken ERP software
Bekijken van de architectuur bij beide
24
Case 1 - Exact
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
26
Architectuur Exact Online
27
Overzicht ASP tot Multi-tenancy
(Kwok et al., 2008)
28
Case 2 - AFAS
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
30
Overzicht ASP tot Multi-tenancy
(Kwok et al., 2008)
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
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)
33
Vragen