Variability in Multi-tenant SaaS Applications: Gastcollege voor het vak Product Software Jaap Kabbedijk, MSc. Universiteit Utrecht, Nederland 1
Wat gaan we behandelen? Introductie Uitleg ontwikkeling SaaS Uitleg multi-tenancy Case studies Conclusie 2
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 3
Wat betekenen toch al die termen?! Runtime Variability Multi-tenancy Software as a Service (SaaS) 4
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
7 Wat heeft dit met Software te maken?
8 Traditioneel Delivery Management
9 Traditional Deployment Model
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 10
Traditioneel Nadelen Hoge initiele kosten voor gebruikers Lastig updates bij te houden Gebrekkige expertise Kans op dataverlies 11
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 12
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 13
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. 14
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? 15
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 16
Overzicht ASP tot Multi-tenancy (Kwok et al., 2008) 17
Multi-tenancy: Heilige graal? Een gehoste oplossing Delen van: Hardware Software Ontwikkelkosten Deploymentkosten Onderhoudskosten Mogelijkheid tot variabiliteit binnen het product 18
Wat is variabiliteit? Mogelijkheid om een software product aan te passen aan een specifieke context Ander platform Ander land Maar ook specifieke klantwensen 19
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 20
21 Runtime variabiliteit
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 22
Case Studies Twee grote product software makers in Nederland Exact AFAS Maken ERP software Bekijken van de architectuur bij beide 23
24 Case 1 - Exact
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 25
26 Architectuur Exact Online
Overzicht ASP tot Multi-tenancy (Kwok et al., 2008) 27
28 Case 2 - AFAS
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 29
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? Mijn onderzoek richt zich op het achterhalen van patronen waarmee variabiliteit met succes toegepast kan worden binnen multi-tenant SaaS systemen 31
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) J.Kabbedijk@uu.nl 32
33 Vragen