Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Variability in Multi-tenant SaaS Applications: Gastcollege voor het vak ‘Product Software’ Jaap Kabbedijk, MSc. Universite...
Wat gaan we behandelen? <ul><li>Introductie </li></ul><ul><li>Uitleg ontwikkeling SaaS </li></ul><ul><li>Uitleg multi-tena...
Wie ben ik? <ul><li>Bachelor Informatiekunde </li></ul><ul><li>Master Business Informatics </li></ul><ul><li>PhD. kandidaa...
Wat betekenen toch al die termen?! <ul><li>Runtime Variability </li></ul><ul><li>Multi-tenancy </li></ul><ul><li>Software ...
Even iets anders! Geinspireerd op Andy Zaidman (TUDelft)
Voor- en Nadelen Huis :  Privacy en vrijheid Appartement : Kostenefficient Huis Appartement Effectief gebruik land - + Pri...
<ul><li>Wat heeft dit met Software te maken? </li></ul>
Traditioneel Delivery Management
Traditional Deployment Model
Traditioneel - Karakteristieken <ul><li>Denk aan het ‘Huis’ </li></ul><ul><li>Klanten moeten zelf het product installeren ...
Traditioneel – Nadelen <ul><li>Hoge initiele kosten voor gebruikers </li></ul><ul><li>Lastig updates bij te houden </li></...
Application Server Provider <ul><li>Data niet verantwoordelijkheid klant </li></ul><ul><li>Applicatie wordt bij een derde ...
Aparte omgevingen <ul><li>Data niet verantwoordelijkheid klant </li></ul><ul><li>Iedereen gebruikt het zelfde product, maa...
Multi-user Oplossing <ul><li>Software as a Service (denk aan het ‘appartement’) </li></ul><ul><li>Data niet verantwoordeli...
Perfecte oplossing? <ul><li>Minder kosten voor de klant </li></ul><ul><li>Meer veiligheid van de data voor de klant </li><...
Multi-tenancy <ul><li>Data niet verantwoordelijkheid klant </li></ul><ul><li>Een product wordt volledig aangeboden als ‘se...
Overzicht ASP tot Multi-tenancy (Kwok et al., 2008)
Multi-tenancy: Heilige graal? <ul><li>Een gehoste oplossing </li></ul><ul><li>Delen van: </li></ul><ul><ul><li>Hardware </...
Wat is variabiliteit? <ul><li>Mogelijkheid om een software product aan te passen aan een specifieke context </li></ul><ul>...
Momenten van variabiliteitsimplementatie <ul><li>Tijdens het ontwerp </li></ul><ul><ul><li>Ander product voor Linux dan vo...
Runtime variabiliteit
Waarom is niet alles Multi-tenant? <ul><li>Het is een hype, maar veel mensen weten niet wat het precies is </li></ul><ul><...
Case Studies <ul><li>Twee grote product software makers in Nederland </li></ul><ul><ul><li>Exact </li></ul></ul><ul><ul><l...
Case 1 - Exact
Case 1 – Exact <ul><li>Hadden (en hebben) een on-premises oplossing </li></ul><ul><li>Sinds een aantal jaar begonnen met E...
Architectuur Exact Online
Overzicht ASP tot Multi-tenancy (Kwok et al., 2008)
Case 2 - AFAS
Case 2 - AFAS <ul><li>Origineel een on-premises oplossing </li></ul><ul><li>Sinds een aantal jaar Profit Web </li></ul><ul...
Overzicht ASP tot Multi-tenancy (Kwok et al., 2008)
Mijn onderzoek <ul><li>Beantwoorden van de vraag:   </li></ul><ul><li>“ Hoe kan variabiliteit geimplementeerd worden in ee...
Wil jij meehelpen binnen dit onderzoek? <ul><li>Het identificeren van variabiliteits-patronen gebruikt binnen een software...
Vragen
Upcoming SlideShare
Loading in …5
×

Gastcollege Product Software

493 views

Published on

Nederlandse presentatie over variabiliteit in multi-tenant SaaS producten

  • Be the first to comment

  • Be the first to like this

Gastcollege Product Software

  1. 1. Variability in Multi-tenant SaaS Applications: Gastcollege voor het vak ‘Product Software’ Jaap Kabbedijk, MSc. Universiteit Utrecht, Nederland
  2. 2. Wat gaan we behandelen? <ul><li>Introductie </li></ul><ul><li>Uitleg ontwikkeling SaaS </li></ul><ul><li>Uitleg multi-tenancy </li></ul><ul><li>Case studies </li></ul><ul><li>Conclusie </li></ul>
  3. 3. Wie ben ik? <ul><li>Bachelor Informatiekunde </li></ul><ul><li>Master Business Informatics </li></ul><ul><li>PhD. kandidaat op het gebied van variabiliteit in Multi-tenant SaaS systemen </li></ul><ul><li>Woon in Lunetten </li></ul><ul><li>Train voor marathon van Parijs </li></ul>
  4. 4. Wat betekenen toch al die termen?! <ul><li>Runtime Variability </li></ul><ul><li>Multi-tenancy </li></ul><ul><li>Software as a Service (SaaS) </li></ul>
  5. 5. Even iets anders! Geinspireerd op Andy Zaidman (TUDelft)
  6. 6. Voor- en Nadelen Huis : Privacy en vrijheid Appartement : Kostenefficient Huis Appartement Effectief gebruik land - + Privacy + - Delen infrastructuur - + Delen onderhoudskosten - + Vrijheid + -
  7. 7. <ul><li>Wat heeft dit met Software te maken? </li></ul>
  8. 8. Traditioneel Delivery Management
  9. 9. Traditional Deployment Model
  10. 10. Traditioneel - Karakteristieken <ul><li>Denk aan het ‘Huis’ </li></ul><ul><li>Klanten moeten zelf het product installeren en up-to-date houden </li></ul><ul><li>Klanten beheren hun eigen data </li></ul><ul><li>Iedere klant heeft minimaal 1 pc/server nodig om het product te draaien </li></ul><ul><li>Aanpassingen en specifieke wensen kunnen per product gedaan worden </li></ul>
  11. 11. Traditioneel – Nadelen <ul><li>Hoge initiele kosten voor gebruikers </li></ul><ul><li>Lastig updates bij te houden </li></ul><ul><li>Gebrekkige expertise </li></ul><ul><li>Kans op dataverlies </li></ul>
  12. 12. Application Server Provider <ul><li>Data niet verantwoordelijkheid klant </li></ul><ul><li>Applicatie wordt bij een derde partij gehost </li></ul><ul><li>Meerdere producten worden op 1 machine gehost </li></ul><ul><li>Efficienter gebruik servers ten opzichte van traditionele situatie </li></ul><ul><li>Iedere gebruiker heeft een volledig eigen product op de server </li></ul>
  13. 13. Aparte omgevingen <ul><li>Data niet verantwoordelijkheid klant </li></ul><ul><li>Iedereen gebruikt het zelfde product, maar krijgt een eigen omgeving voor de data en voorkeuren </li></ul><ul><li>Slechts 1 codebase </li></ul><ul><li>Schaalt tot op zekere hoogte </li></ul>
  14. 14. Multi-user Oplossing <ul><li>Software as a Service (denk aan het ‘appartement’) </li></ul><ul><li>Data niet verantwoordelijkheid klant </li></ul><ul><li>Een product wordt volledig aangeboden als ‘service’ </li></ul><ul><ul><li>Vergelijk met water of energie </li></ul></ul><ul><li>Mogelijkheid zeer veel klanten te kunnen bedienen met beperkt aantal servers </li></ul><ul><li>Facebook, Grooveshark, etc. </li></ul>
  15. 15. Perfecte oplossing? <ul><li>Minder kosten voor de klant </li></ul><ul><li>Meer veiligheid van de data voor de klant </li></ul><ul><li>Efficient servergebruik voor de hosting provider </li></ul><ul><li>Maar….waar zijn de specifieke wensen gebleven? </li></ul>
  16. 16. Multi-tenancy <ul><li>Data niet verantwoordelijkheid klant </li></ul><ul><li>Een product wordt volledig aangeboden als ‘service’ </li></ul><ul><li>Mogelijkheid zeer veel klanten te kunnen bedienen met beperkt aantal servers </li></ul><ul><li>Tenants (gebruikers) kunnen functionaliteit naar eigen wens aanpassen. </li></ul><ul><li>Combinatie tussen het ‘huis’ en het ‘appartement’ </li></ul>
  17. 17. Overzicht ASP tot Multi-tenancy (Kwok et al., 2008)
  18. 18. Multi-tenancy: Heilige graal? <ul><li>Een gehoste oplossing </li></ul><ul><li>Delen van: </li></ul><ul><ul><li>Hardware </li></ul></ul><ul><ul><li>Software </li></ul></ul><ul><ul><li>Ontwikkelkosten </li></ul></ul><ul><ul><li>Deploymentkosten </li></ul></ul><ul><ul><li>Onderhoudskosten </li></ul></ul><ul><li>Mogelijkheid tot variabiliteit binnen het product </li></ul>
  19. 19. Wat is variabiliteit? <ul><li>Mogelijkheid om een software product aan te passen aan een specifieke context </li></ul><ul><li>Ander platform </li></ul><ul><li>Ander land </li></ul><ul><li>Maar ook specifieke klantwensen </li></ul>
  20. 20. Momenten van variabiliteitsimplementatie <ul><li>Tijdens het ontwerp </li></ul><ul><ul><li>Ander product voor Linux dan voor Windows </li></ul></ul><ul><li>Tijdens het compileren </li></ul><ul><ul><li>Het verwijzen naar andere stukken code bij het compileren van software voor een specifieke telefoon </li></ul></ul><ul><li>Linken bij oplevering </li></ul><ul><ul><li>Het verbinden van een product met verschillende modulen </li></ul></ul><ul><li>Run-time </li></ul><ul><ul><li>Wanneer een gebruiker van een online product iets wilt veranderen </li></ul></ul>
  21. 21. Runtime variabiliteit
  22. 22. Waarom is niet alles Multi-tenant? <ul><li>Het is een hype, maar veel mensen weten niet wat het precies is </li></ul><ul><li>De grote flexibiliteit in een product maakt het mogelijk lastig te onderhouden </li></ul><ul><li>Single point of failure </li></ul><ul><li>Veiligheidsgevoel </li></ul><ul><li>Maar vooral…de meeste software bedrijven weten niet goed HOE ze het moeten implementeren </li></ul>
  23. 23. Case Studies <ul><li>Twee grote product software makers in Nederland </li></ul><ul><ul><li>Exact </li></ul></ul><ul><ul><li>AFAS </li></ul></ul><ul><li>Maken ERP software </li></ul><ul><li>Bekijken van de architectuur bij beide </li></ul>
  24. 24. Case 1 - Exact
  25. 25. Case 1 – Exact <ul><li>Hadden (en hebben) een on-premises oplossing </li></ul><ul><li>Sinds een aantal jaar begonnen met Exact Online </li></ul><ul><li>15.000 klanten </li></ul><ul><li>Databaseverandering </li></ul><ul><li>Alle klanten gebruiken in principe zelfde database en software instance </li></ul><ul><li>Aanpassingen per klant lastig </li></ul>
  26. 26. Architectuur Exact Online
  27. 27. Overzicht ASP tot Multi-tenancy (Kwok et al., 2008)
  28. 28. Case 2 - AFAS
  29. 29. Case 2 - AFAS <ul><li>Origineel een on-premises oplossing </li></ul><ul><li>Sinds een aantal jaar Profit Web </li></ul><ul><li>10.000 gebruikers </li></ul><ul><li>Iedere gebruiker heeft een eigen omgeving op de server </li></ul><ul><li>Aanpassingen per klant mogelijk, maar lastig te onderhouden </li></ul>
  30. 30. Overzicht ASP tot Multi-tenancy (Kwok et al., 2008)
  31. 31. Mijn onderzoek <ul><li>Beantwoorden van de vraag: </li></ul><ul><li>“ Hoe kan variabiliteit geimplementeerd worden in een multi-tenant SaaS omgeving?” </li></ul><ul><li>Mijn onderzoek richt zich op het achterhalen van patronen waarmee variabiliteit met succes toegepast kan worden binnen multi-tenant SaaS systemen </li></ul>
  32. 32. Wil jij meehelpen binnen dit onderzoek? <ul><li>Het identificeren van variabiliteits-patronen gebruikt binnen een software product (Case Study - 15ECTS) </li></ul><ul><li>Uitzoeken hoe een specifiek patroon om variabiliteit in een multi-tenant software product te krijgen wordt toegepast binnen een software bedrijf (Case Study - 15ECTS) </li></ul><ul><li>Het evalueren van patronen op verschillende aspecten, zoals schaalbaarheid of implementatiekosten ( Expert Interview – 7.5ECTS) </li></ul><ul><li>[email_address] </li></ul>
  33. 33. Vragen

×