$30 off During Our Annual Pro Sale. View Details »

On the Portability of Applications in Platform as a Service

Stefan Kolb
December 20, 2018

On the Portability of Applications in Platform as a Service

PHD thesis defense presentation.

Get the book "On the Portability of Applications in Platform as a Service" at https://www.amazon.de/dp/3863096312

Stefan Kolb

December 20, 2018
Tweet

More Decks by Stefan Kolb

Other Decks in Research

Transcript

  1. On the Portability of Applications in Platform as a Service

    Stefan Kolb Distributed Systems Group University of Bamberg
  2. Die Cloud? 2 Cloud

  3. Mehrere Servicemodelle! 3 Software as a Service Infrastructure as a

    Service Platform as a Service
  4. Mehrere Servicemodelle! 4 SaaS IaaS PaaS

  5. Warum PaaS als Forschungsgegenstand? 5 SaaS IaaS PaaS

  6. Verwaltete Laufzeitumgebung 6 http://engineyard.co.jp/platform-as-a-service Cloudanwendung Laufzeitumgebung Rechnerinfrastruktur Anwendung

  7. Vielfältige Konfigurationen... 7 http://engineyard.co.jp/platform-as-a-service SaaS IaaS Java, Ruby, PHP, .NET,

    Python, … MySQL, MongoDB, Redis, CouchDB, … Apache, nginx, Glassfish, Tomcat, … Ubuntu, Windows, …
  8. Keine Standards… 8 Colourbox

  9. > 70 Anbieter 9

  10. 10 Konzeptuelle Unterschiede zwischen den Plattformen Technische Unterschiede zwischen den

    Anbietern Mangel an Standards Lock-in Lock-in!
  11. Portabilität verhindert Lock-in. 11 Erweiterung der Anbieterauswahl 2 1 Reaktion

    auf Konsolidierung & Marktänderungen four12
  12. 12 Konzeptuelle Unterschiede zwischen den Plattformen Technische Unterschiede zwischen den

    Anbietern Mangel an Standards Portabilität Wie kann man Portabilität unterstützen?
  13. Hauptbeiträge Konzeptuelle Abgrenzung und Modell 13 1 Entscheidungsunterstützung für die

    Anbieterauswahl 2 Fallstudie und Messrahmen für Portierungsaufwände 3 4 Vereinheitlichte Management-Schnittstelle Ordnungsrahmen Entscheidungsunterstützung zur Portabilitätserhaltung Praktische Validierung der Entscheidungsunterstützung & des Rahmens Weitere Reduktion der identifizierten Aufwände in der Fallstudie
  14. Konzeptuelle Abgrenzung und Modell “Ermöglicht Nutzern die Angebote einzuordnen und

    zu vergleichen.“ 14 1
  15. Konzeptuelle Abgrenzung 15 Literaturanalyse Marktanalyse Modell Kodifizierung der Anbieterlandschaft

  16. Konzeptuelle Abgrenzung 16 Analyse Modell Kodifizierung

  17. Konzeptuelle Abgrenzung 17 Analyse Modell Kodifizierung

  18. Konzeptuelle Abgrenzung 18 Analyse Modell Kodifizierung Runtime Languages Frameworks Services

    Skalierbarkeit Deployment Modell …
  19. Konzeptuelle Abgrenzung 19 Analyse Modell Kodifizierung

  20. Entscheidungsunterstützung für die Anbieterauswahl “Durch Abgleich der Anwendungsanforderungen und der

    Anbieterprofile ist es möglich informierte Entscheidungen zu treffen und Anwendungsportabilität zu prüfen.“ 20 2
  21. Anwendungsportabilität 21 “Wenn alle Anwendungsabhängigkeiten und -anforderungen von einer Plattform

    unterstützt werden, so ist es möglich die Anwendung zu portieren.“
  22. 22

  23. Webanwendung PaaS Profile Portabilitäts-Matchmaking 23 Anforderungen der Anwendung Potentielle Anbieter

    1
  24. 24 https://PaaSfinder.org ≈ 2000 Nutzer/Monat

  25. Suchanfragen 25 7910 Anfragen von 4200 Nutzern in Q3/2016. 74%

    26% Ergebnismenge Leere Ergebnismenge
  26. Problemquellen 26

  27. Gegenmassnahmen 27 Semantische Regeln Semantische Tests Verbesserte Data Governance 2

    1 Verbesserte Recommendation Algorithmen
  28. Fallstudie und Messrahmen für Portierungsaufwände “Es existieren unterschiedliche Aufwände bei

    Anwendungsportierungen, trotz kompatibler Plattformen.“ 28 3
  29. 29 https://blinkist.com

  30. 30 Pivotal Web Services IBM Bluemix OpenShift Online cloudControl Heroku

    EngineYard AWS Elastic Beanstalk https://blinkist.com
  31. Metriken 31 Avg. Deployment Time Deployment Reliability Number of compilation

    and packaging steps Number of deployment steps + Number of input parameters Median of a number of deployments LOC of configuration files + LOC changes in application code Deployment Effort 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 Code Changes Build Management
  32. 32 Anzahl der Kompilierungs- und Paketierungsschritte Anzahl der Deploymentschritte +

    Anzahl der Input- Parameter Lines of Code der Konfigurationsdateien + Lines of Code der notwendigen Veränderungen im Applikationscode Deployment Effort Code Changes Build Management
  33. Portabel, aber evidente Aufwandsunterschiede 14 18 18 19 27 34

    55 0 10 20 30 40 50 60 Heroku Pivotal Bluemix cloudControl OpenShift EngineYard Beanstalk Management Code Build 33
  34. Management Standardisierung? 14 18 18 19 27 34 55 0

    10 20 30 40 50 60 Heroku Pivotal Bluemix cloudControl OpenShift EngineYard Beanstalk Management Code Build 34
  35. 35 Gleiche Funktionalität, jedoch unterschiedliche Workflows & Kommandos Management Standardisierung?

  36. “Das Anwendungsmanagement in PaaS kann vereinheitlicht werden, um existierende Migrationsaufwände

    zu reduzieren.“ 36 Vereinheitlichte Management-Schnittstelle 4
  37. 37

  38. 38 Anwendungsfälle der Schnittstelle

  39. 39 Nucleus Prototyp https://github.com/stefan-kolb/nucleus 100% Abdeckung des Managements der Fallstudie

    Reduktion auf ca. 66% des originären Aufwandes Unterstützung für > 15 Anbieter
  40. Wie kann man Portabilität unterstützen? Ordnungsrahmen + Entscheidungsunterstützung + Vereinheitlichte

    Management-Schnittstelle = Weniger Lock-in Risiken, mehr Portabilitätsgarantien 40
  41. Stefan Kolb @stfnklb https://PaaSfinder.org 41