SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
On the
Portability of Applications
in Platform as a Service
Stefan Kolb
Distributed Systems Group
University of Bamberg
Die Cloud?
2
Cloud
Mehrere Servicemodelle!
3
Software
as a Service
Infrastructure
as a Service
Platform
as a Service
Mehrere Servicemodelle!
4
SaaSIaaS PaaS
Warum PaaS als Forschungsgegenstand?
5
SaaSIaaS PaaS
Verwaltete Laufzeitumgebung
6
http://engineyard.co.jp/platform-as-a-service
Cloudanwendung
LaufzeitumgebungRechnerinfrastruktur Anwendung
Vielfältige Konfigurationen...
7
http://engineyard.co.jp/platform-as-a-service
SaaSIaaS
Java, Ruby, PHP,
.NET, Python, …
MySQL, MongoDB,
Redis, CouchDB, …
Apache, nginx,
Glassfish, Tomcat, …
Ubuntu, Windows, …
Keine Standards…
8
Colourbox
> 70
Anbieter
9
10
Konzeptuelle
Unterschiede
zwischen den
Plattformen
Technische
Unterschiede
zwischen den
Anbietern
Mangel an Standards
Lock-in
Lock-in!
Portabilität verhindert Lock-in.
11
Erweiterung der Anbieterauswahl
2
1
Reaktion auf Konsolidierung & Marktänderungen
four12
12
Konzeptuelle
Unterschiede
zwischen den
Plattformen
Technische
Unterschiede
zwischen den
Anbietern
Mangel an Standards
Portabilität
Wie kann man Portabilität unterstützen?
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
Konzeptuelle
Abgrenzung und Modell
“Ermöglicht Nutzern die Angebote
einzuordnen und zu vergleichen.“
14
1
Konzeptuelle
Abgrenzung
15
Literaturanalyse Marktanalyse
Modell
Kodifizierung der
Anbieterlandschaft
Konzeptuelle
Abgrenzung
16
Analyse
Modell
Kodifizierung
Konzeptuelle
Abgrenzung
17
Analyse
Modell
Kodifizierung
Konzeptuelle
Abgrenzung
18
Analyse
Modell
Kodifizierung
Runtime Languages
Frameworks
Services
Skalierbarkeit
Deployment Modell
…
Konzeptuelle
Abgrenzung
19
Analyse
Modell
Kodifizierung
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
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
Webanwendung
PaaS
Profile
Portabilitäts-Matchmaking
23
Anforderungen der Anwendung Potentielle Anbieter
1
24
https://PaaSfinder.org
≈ 2000 Nutzer/Monat
Suchanfragen
25
7910 Anfragen von 4200 Nutzern in Q3/2016.
74%
26%
Ergebnismenge Leere Ergebnismenge
Problemquellen
26
Gegenmassnahmen
27
Semantische Regeln Semantische Tests
Verbesserte Data Governance
2
1
Verbesserte Recommendation Algorithmen
Fallstudie und Messrahmen
für Portierungsaufwände
“Es existieren unterschiedliche Aufwände bei
Anwendungsportierungen, trotz kompatibler
Plattformen.“
28
3
29
https://blinkist.com
30
Pivotal Web Services IBM Bluemix
OpenShift OnlinecloudControl Heroku
EngineYard
AWS Elastic Beanstalk
https://blinkist.com
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
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
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
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
Gleiche Funktionalität, jedoch
unterschiedliche Workflows &
Kommandos
Management Standardisierung?
“Das Anwendungsmanagement in PaaS kann
vereinheitlicht werden, um existierende
Migrationsaufwände zu reduzieren.“
36
Vereinheitlichte
Management-Schnittstelle4
37
38
Anwendungsfälle der Schnittstelle
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
Wie kann man Portabilität unterstützen?
Ordnungsrahmen
+
Entscheidungsunterstützung
+
Vereinheitlichte Management-Schnittstelle
=
Weniger Lock-in Risiken,
mehr Portabilitätsgarantien
40
Stefan Kolb
@stfnklb
https://PaaSfinder.org
41

Weitere ähnliche Inhalte

Ähnlich wie On the Portability of Applications in Platform as a Service

Ähnlich wie On the Portability of Applications in Platform as a Service (20)

Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-Acht
 
Cloud Connectivity - Herausforderungen und Loesungen
Cloud Connectivity - Herausforderungen und LoesungenCloud Connectivity - Herausforderungen und Loesungen
Cloud Connectivity - Herausforderungen und Loesungen
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
 
Fachvortrag «Cloudifizierung - produktive Nutzung von Public Clouds
Fachvortrag «Cloudifizierung - produktive Nutzung von Public CloudsFachvortrag «Cloudifizierung - produktive Nutzung von Public Clouds
Fachvortrag «Cloudifizierung - produktive Nutzung von Public Clouds
 
Devops
DevopsDevops
Devops
 
Infrastructure Solution Day | Hybrid
Infrastructure Solution Day | HybridInfrastructure Solution Day | Hybrid
Infrastructure Solution Day | Hybrid
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Webcast: SAP on Azure für den Mittelstand - Erfolgsfaktor Integration
Webcast: SAP on Azure für den Mittelstand - Erfolgsfaktor IntegrationWebcast: SAP on Azure für den Mittelstand - Erfolgsfaktor Integration
Webcast: SAP on Azure für den Mittelstand - Erfolgsfaktor Integration
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
CLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsCLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVs
 
Cloud Infrastructure with Crossplane
Cloud Infrastructure with CrossplaneCloud Infrastructure with Crossplane
Cloud Infrastructure with Crossplane
 
Microsoft Azure Cloud mit der Sitecore Experience Platform
Microsoft Azure Cloud mit der Sitecore Experience PlatformMicrosoft Azure Cloud mit der Sitecore Experience Platform
Microsoft Azure Cloud mit der Sitecore Experience Platform
 
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannOSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
 

On the Portability of Applications in Platform as a Service