Frey, Sören2023-03-142023-03-142014https://dl.gi.de/handle/20.500.12116/40853Der verstärkte Einsatz von Cloud-basierten Technologien bei der Neuentwicklung moderner Softwaresysteme demonstriert in jüngster Zeit das Potential von Cloud Computing zur Realisierung einer verbesserten Skalierbarkeit und Kosteneffizienz. Viele Software as a Service (SaaS) Anbieter sind bestrebt, dieses Potential auch für bestehende Anwendungen zu erschließen und erwägen eine Migration zu Infrastructure as a Service (IaaS) und Platform as a Service (PaaS)-basierten Cloud Umgebungen. Bei einer solchen Migration existieren jedoch vielfältige Herausforderungen. (1) Die potenziellen Vorteile einer Cloud Umgebung, wie etwa eine dynamische Skalierung der Ressourcen oder eine häufig eingesetzte nutzungsbasierte Abrechnung, können ohne eingehende Migrationsplanung nicht optimal genutzt werden. Darüber hinaus weisen Cloud Umgebungen oftmals umfangreiche Restriktionen auf, z.B. bei direkten Dateisystemzugriffen oder dem Öffnen von bestimmten Netzwerk-Sockets durch ihre Gastanwendungen. Derartige Restriktionen bezeichnen wir als Cloud Environment Constraints (CECs). Eine Anwendung verursacht etwa hinsichtlich der zuvor erwähnten CEC Typen sogenannte CEC Violations, falls sie auf das Dateisystem schreibt oder den betreffenden Netzwerk-Socket öffnet. (2) Generell werden CEC Violations bei einer Migration meistens nicht systematisch überprüft. (3) Des Weiteren existiert eine Vielzahl an unterschiedlichen Cloud Deployment Optionen (CDOs), für einen Vergleich fehlt jedoch eine geeignete Unterstützung. Eine CDO legt z.B. fest, welche Cloud Umgebung, Cloudbasierten Ressourcen, Architektur und Laufzeitrekonfigurationsregeln verwendet werden sollen, um die Elastizität der Cloud Umgebung ausnutzen zu können. Die Performanzeigenschaften und Kosten von CDOs können hierbei um Gröÿenordnungen variieren. Zur Bewältigung der vorgenannten Herausforderungen schlägt diese Dissertation den Ansatz CloudMIG vor. Dieser unterstützt SaaS Anbieter bei der Migration von Unternehmensanwendungen zu IaaS und PaaS-basierten Cloud Umgebungen. CloudMIG basiert auf Meta-Modellen der Architecture- Driven Modernization (ADM) Initiative der OMG und verwendet beispielsweise das Knowledge Discovery MetaModel (KDM) der ADM zur Repräsentation von Code-Modellen einer Anwendung. Diese KDM Modelle werden mittels Reverse Engineering extrahiert. Cloud Umgebungen werden in wiederverwendbaren Cloud Profilen modelliert. Diese beschreiben z.B. die spezifischen Cloud-basierten Ressourcen, Preismodelle und CEC Definitionen. CloudMIG setzt folgende zwei Schwerpunkte. Erstens umfasst es einen automatischen Conformance Checking Ansatz zur Erkennung von CEC Violations in extrahierten KDM Modellen hinsichtlich eines bestimmten Cloud Profils. Die Erkennung erfolgt mit Hilfe wiederverwendbarer Constraint Validatoren. Zusätzliche Constraint Validatoren können bei Bedarf in den Erkennungsprozess integriert werden. Zweitens ermöglicht CloudMIG eine automatische Erstellung und Optimierung von CDOs mit Hilfe eines simulationsbasierten genetischen Algorithmus namens CDOXplorer. CDOXplorer verwendet unseren Simulator CDOSim als Fitnessfunktion. CDOSim simuliert CDOs und berechnet potenzielle Kosten, Antwortzeiten und die Anzahl an SLA Verletzungen. CDOXplorer liefert eine pareto-optimale Menge an CDOs, aus der ein SaaS Anbieter die jeweils am besten geeignete CDO auswählen kann. CloudMIG vereinfacht die Erkennung von CEC Violations und die Erstellung geeigneter CDOs beträchtlich. SaaS Anbieter müssen keine zeitaufwendigen und teuren Code-Reviews mehr durchführen oder Fehlfunktionen riskieren, weil CEC Violations unerkannt bleiben. Anstatt CDOs manuell implementieren, bewerten und vergleichen zu müssen, ermöglicht CloudMIG eine automatische Generierung optimierter CDOs. Umfangreiche Experimente zeigen die Eignung und Praktikabilität von CloudMIG und seiner zwei Kernbestandteile. Zum einen wird der Conformance Checking Ansatz mit drei Fallstudien evaluiert, die Laborexperimente und Experimente in einem industriellen Kontext umfassen. Die Evaluation zeigt die hohe Präzision des Erkennungsmechanismus. Zum anderen wird unser genetischer Algorithmus CDOXplorer mit drei etablierten multi-kriteriellen Such- und Optimierungsalgorithmen verglichen. Die Evaluation zeigt, dass CDOXplorer Lösungen erstellen kann, die denen der anderen Algorithmen um bis zu 60Concept Implementierung von CloudMIG existiert in Form der Anwendung CloudMIG Xpress. Diese ist als Open Source Software verfügbar.deConformance Checking and Simulation-based Evolutionary Optimization for Deployment and Reconfiguration of Software in the CloudText/Journal Article0720-8928