Universität Stuttgart

Permanent URI for this communityhttps://elib.uni-stuttgart.de/handle/11682/1

Browse

Search Results

Now showing 1 - 10 of 13
  • Thumbnail Image
    ItemOpen Access
    Eine Methode zum Verteilen, Adaptieren und Deployment partnerübergreifender Anwendungen
    (2022) Wild, Karoline; Leymann, Frank (Prof. Dr. Dr. h. c.)
    Ein wesentlicher Aspekt einer effektiven Kollaboration innerhalb von Organisationen, aber vor allem organisationsübergreifend, ist die Integration und Automatisierung der Prozesse. Dazu zählt auch die Bereitstellung von Anwendungssystemen, deren Komponenten von unterschiedlichen Partnern, das heißt Abteilungen oder Unternehmen, bereitgestellt und verwaltet werden. Die dadurch entstehende verteilte, dezentral verwaltete Umgebung bedarf neuer Konzepte zur Bereitstellung. Die Autonomie der Partner und die Verteilung der Komponenten führen dabei zu neuen Herausforderungen. Zum einen müssen partnerübergreifende Kommunikationsbeziehungen realisiert und zum anderen muss das automatisierte dezentrale Deployment ermöglicht werden. Eine Vielzahl von Technologien wurde in den letzten Jahren entwickelt, die alle Schritte von der Modellierung bis zur Bereitstellung und dem Management zur Laufzeit einer Anwendung abdecken. Diese Technologien basieren jedoch auf einer zentralisierten Koordination des Deployments, wodurch die Autonomie der Partner eingeschränkt ist. Auch fehlen Konzepte zur Identifikation von Problemen, die aus der Verteilung von Anwendungskomponenten resultieren und die Funktionsfähigkeit der Anwendung einschränken. Dies betrifft speziell die partnerübergreifenden Kommunikationsbeziehungen. Um diese Herausforderungen zu lösen, stellt diese Arbeit die DivA-Methode zum Verteilen, Adaptieren und Deployment partnerübergreifender Anwendungen vor. Die Methode vereinigt die globalen und lokalen Partneraktivitäten, die zur Bereitstellung partnerübergreifender Anwendungen benötigt werden. Dabei setzt die Methode auf dem deklarativen Essential Deployment Meta Model (EDMM) auf und ermöglicht damit die Einführung deploymenttechnologieunabhängiger Modellierungskonzepte zur Verteilung von Anwendungskomponenten sowie zur Modellanalyse und -adaption. Das Split-and-Match-Verfahren wird für die Verteilung von Anwendungskomponenten basierend auf festgelegten Zielumgebungen und zur Selektion kompatibler Cloud-Dienste vorgestellt. Für die Ausführung des Deployments können EDMM-Modelle in unterschiedliche Technologien transformiert werden. Um die Bereitstellung komplett dezentral durchzuführen, werden deklarative und imperative Technologien kombiniert und basierend auf den deklarativen EDMM-Modellen Workflows generiert, die die Aktivitäten zur Bereitstellung und zum Datenaustausch mit anderen Partnern zur Realisierung partnerübergreifender Kommunikationsbeziehungen orchestrieren. Diese Workflows formen implizit eine Deployment-Choreographie. Für die Modellanalyse und -adaption wird als Kern dieser Arbeit ein zweistufiges musterbasiertes Verfahren zur Problemerkennung und Modelladaption eingeführt. Dafür werden aus den textuellen Musterbeschreibungen die Problem- und Kontextdefinition analysiert und formalisiert, um die automatisierte Identifikation von Problemen in EDMM-Modellen zu ermöglichen. Besonderer Fokus liegt dabei auf Problemen, die durch die Verteilung der Komponenten entstehen und die Realisierung von Kommunikationsbeziehungen verhindern. Das gleiche Verfahren wird auch für die Selektion geeigneter konkreter Lösungsimplementierungen zur Behebung der Probleme angewendet. Zusätzlich wird ein Ansatz zur Selektion von Kommunikationstreibern abhängig von der verwendeten Integrations-Middleware vorgestellt, wodurch die Portabilität von Anwendungskomponenten verbessert werden kann. Die in dieser Arbeit vorgestellten Konzepte werden durch das DivA-Werkzeug automatisiert. Zur Validierung wird das Werkzeug prototypisch implementiert und in bestehende Systeme zur Modellierung und Ausführung des Deployments von Anwendungssystemen integriert.
  • Thumbnail Image
    ItemOpen Access
    Elastic parallel systems for high performance cloud computing
    (2020) Kehrer, Stefan; Blochinger, Wolfgang (Prof. Dr.)
    High Performance Computing (HPC) enables significant progress in both science and industry. Whereas traditionally parallel applications have been developed to address the grand challenges in science, as of today, they are also heavily used to speed up the time-to-result in the context of product design, production planning, financial risk management, medical diagnosis, as well as research and development efforts. However, purchasing and operating HPC clusters to run these applications requires huge capital expenditures as well as operational knowledge and thus is reserved to large organizations that benefit from economies of scale. More recently, the cloud evolved into an alternative execution environment for parallel applications, which comes with novel characteristics such as on-demand access to compute resources, pay-per-use, and elasticity. Whereas the cloud has been mainly used to operate interactive multi-tier applications, HPC users are also interested in the benefits offered. These include full control of the resource configuration based on virtualization, fast setup times by using on-demand accessible compute resources, and eliminated upfront capital expenditures due to the pay-per-use billing model. Additionally, elasticity allows compute resources to be provisioned and decommissioned at runtime, which allows fine-grained control of an application's performance in terms of its execution time and efficiency as well as the related monetary costs of the computation. Whereas HPC-optimized cloud environments have been introduced by cloud providers such as Amazon Web Services (AWS) and Microsoft Azure, existing parallel architectures are not designed to make use of elasticity. This thesis addresses several challenges in the emergent field of High Performance Cloud Computing. In particular, the presented contributions focus on the novel opportunities and challenges related to elasticity. First, the principles of elastic parallel systems as well as related design considerations are discussed in detail. On this basis, two exemplary elastic parallel system architectures are presented, each of which includes (1) an elasticity controller that controls the number of processing units based on user-defined goals, (2) a cloud-aware parallel execution model that handles coordination and synchronization requirements in an automated manner, and (3) a programming abstraction to ease the implementation of elastic parallel applications. To automate application delivery and deployment, novel approaches are presented that generate the required deployment artifacts from developer-provided source code in an automated manner while considering application-specific non-functional requirements. Throughout this thesis, a broad spectrum of design decisions related to the construction of elastic parallel system architectures is discussed, including proactive and reactive elasticity control mechanisms as well as cloud-based parallel processing with virtual machines (Infrastructure as a Service) and functions (Function as a Service). To evaluate these contributions, extensive experimental evaluations are presented.
  • Thumbnail Image
    ItemOpen Access
    Architectural principles and decision model for Function-as-a-Service
    (2024) Yussupov, Vladimir; Leymann, Frank (Prof. Dr. Dr. h. c.)
    Cloud computing revolutionized the way modern applications are designed and operated. Instead of maintaining the on premise infrastructure many enterprises incorporate various cloud offerings when designing their applications to decrease time-to-market and reduce the required management efforts. This includes the use of traditional cloud service models such as IaaS or PaaS as well as novel models such as FaaS that enables engineering cloud applications by composing fine-grained functions hosted on FaaS platforms with a variety of provider-managed services, e.g., data persistence and messaging services. Most management tasks for the components in FaaS-based applications become a responsibility of the chosen cloud provider, which, however, results in a stronger dependence on provider products and their implementation and packaging requirements. Therefore, engineering of FaaS-based applications can benefit from a stronger focus on the architectural considerations instead of specific products that often appear as fast as they become obsolete. This work focuses on different aspects of provider-agnostic design for FaaS-based applications and is inspired by the increased dependence of components in such applications on product-specific requirements. To enable reasoning on component hosting and management requirements in a provider-agnostic manner, this work introduces a pattern language capturing various trade-offs for hosting application components in the cloud. Furthermore, to facilitate classification and selection support for components in FaaS-based applications, this work presents a classification framework for FaaS platforms and introduces a classification framework metamodel that generalizes these concepts for other component types in such applications. Additionally, this work introduces a standards-based modeling approach for specifying function orchestrations and transforming them into provider-specific formats and an automated function code extraction and wrapping approach that aims to facilitate reusing functions for different FaaS platforms. To enable using these contributions together, this thesis also introduces the GRASP method that enables gradual modeling and refinement of FaaS-based applications from abstract topologies to executable deployment models. The technological support for using the GRASP Method is enabled by an integrated GRASP toolchain. To validate the feasibility of the introduced concepts, the GRASP toolchain is implemented prototypically and integrated with the existing tools for pattern-based modeling and deployment of cloud applications.
  • Thumbnail Image
    ItemOpen Access
    Transparent data exchange in service choreographies : an eScience perspective
    (2023) Hahn, Michael; Leymann, Frank (Prof. Dr. Dr. h. c.)
    This work is motivated by the increasing importance and business value of data in the fields of business process management, scientific workflows as a field in eScience, and Internet of Things, all of which profiting fromthe recent advances in data science and Big data. Although service choreographies provide means to specify complex conversations betweenmultiple interacting parties from a global perspective and in a technology-agnostic manner, they do not fully reflect the current paradigm shift towards data-awareness at the moment. Therefore, the focus of this work is on tackling respective shortcomings. These include the missing modeling support for data flow across participant boundaries or specifying a choreography data model as a contract on the business data relevant to realize the collaboration and all interacting parties agree on. Towards this goal, we introduce a choreography management life cycle that assigns data its deserved primary role in service choreographies as well as defines the functions and artifacts necessary for enabling transparent and efficient data exchange among choreography participants. To implement the introduced life cycle we present the notion of data-aware choreographies through our concepts for Transparent Data Exchange (TraDE) by introducing cross-partner data objects and cross-partner data flows as means to increase runtime flexibility while reducing the complexity of modeling data flows in service choreographies. The TraDE concepts focus on decoupling the data flow, data exchange and management, from the control flow in service compositions and choreographies. To provide an end-to-end support for the modeling and execution of data-aware choreographies and supporting the respective phases of the choreography management life cycle, we introduce and prototypically implement an overall TraDE ecosystem. This ecosystem comprises a modeling environment for data-aware choreographies as well as the required runtime environment to execute such data-aware choreographies through a new TraDE Middleware and its integration to corresponding Business Process Engines (BPEs). The inherent goal of this work is to simplify the modeling of data and its exchange in choreography models while increasing their runtime flexibility and enabling the transparent exchange and transformation of data during choreography execution.
  • Thumbnail Image
    ItemOpen Access
    A method for pattern application based on concrete solutions
    (2024) Falkenthal, Michael; Leymann, Frank (Prof. Dr. Dr. h.c.)
    Patterns and pattern languages have become valuable tools in many domains for representing proven solutions to frequently recurring problems. However, the use of patterns presents some challenges in practice. For example, it is often difficult to find the right patterns for a problem at hand. In addition, the application of patterns often involves a lot of manual effort, since the abstraction of implementation details when writing the patterns means that pattern implementations cannot be systematically reused. As a result, although patterns provide proven knowledge for conceptual solutions, they always have to be manually transformed into concrete implementations when a pattern is used in a specific use case. In particular, the interaction of patterns in pattern languages, thus, leads to high manual effort when implementing complex use cases. Therefore, in this thesis an approach is presented which aims at facilitating the use of patterns in practice. The approach is based on the idea that implementations of patterns are kept available as Concrete Solutions that can be directly reused in the implementation of use cases. To this end, the EINSTEIN-Method provides a framework for systematically storing concrete solutions for their reuse. The method uses Pattern-based Design Models to model conceptual solutions, which can subsequently be transformed into concrete solutions in a semi-automated way. This involves supporting the refinement of abstract patterns via more technologically specific patterns towards concrete solutions. Based on a formalization of pattern languages as graphs, Pattern Graphs with connected Concrete Solutions are introduced, which enable the systematic reuse of concrete solutions. Since patterns are often used in combination to solve complex problems, an approach for automating the aggregation of concrete solutions using Aggregation Operators is presented. In addition, the principle of pattern languages is also projected to the space of concrete solutions and, thus, with Solution Languages an approach is presented that also supports the manual aggregation of concrete solutions to an overall solution. For the reuse of concrete solutions, an iterative IT-supported approach is presented that allows to replace patterns in design models with concrete solutions. Resulting Solution Models can then be aggregated to an overall solution using aggregation operators. For automating the aggregation of concrete solutions, Solution Algebras are introduced that allow mathematical structures to be defined over the set of concrete solutions. For automating the aggregation of concrete solutions, it is also shown how the concept of aggregation operators can be implemented as Solution Aggregation Programs. These allow solution models to be aggregated into overall solutions in a semi-automated manner controlled by the user. For the identification of potential aggregation steps in a solution model, an algorithm is presented that supports the user in the selection of concrete solutions to be aggregated in the solution model. For the transferability of the EINSTEIN-Method into different domains, a tool environment is conceptually described. The practical feasibility of the presented approaches as well as the tool environment is demonstrated by an overall architecture and various tool prototypes. Finally, the feasibility of the presented concepts is shown by means of validation scenarios in different domains.
  • Thumbnail Image
    ItemOpen Access
    Shipping von Funktionen und Daten in heterogenen IT-Umgebungen
    (2023) Zimmermann, Michael; Leymann, Frank (Prof. Dr. Dr. h. c.)
    Die Analyse von generierten und gesammelten Daten ist ein wichtiger Erfolgsfaktor für moderne Unternehmen. Mittels Datenanalysen können beispielsweise Muster identifiziert sowie allgemein neue Erkenntnisse gewonnen werden. Daraus folgend können unter anderem Geschäftsprozesse optimiert, Kosten reduziert oder die Produktivität erhöht werden. Hierzu müssen zunächst geeignete Anwendungen zur Analyse der Daten entwickelt werden und weiterhin diese Anwendungen mit den zu analysierenden Daten zusammengebracht werden. Aufgrund der fortschreitenden Entwicklungen und dem Wachstum im Bereich Internet of Things (IoT) sowie der damit zunehmenden Vernetzung physischer Objekte steigt die Menge an generierten und verfügbaren Daten allerdings kontinuierlich an. Das Bedürfnis einer hohen Datenlokalität rückt dadurch in den Fokus und das Finden von geeigneten Umgebungen zur Ausführung der Analyselogik wird zu einer wichtigen und komplexen Aufgabe. Nicht nur stehen zur Datenverarbeitung verschiedene Computing-Paradigmen wie Cloud, Fog und Edge zur Verfügung, sondern es müssen zudem verschiedene Aspekte hierbei betrachtet werden. Unter anderem müssen Anforderungen hinsichtlich der benötigten Leistung in der Ausführungsumgebung sowie Sicherheitsanforderungen, zum Beispiel bezüglich des Datenschutzes, erfüllt werden. Zum anderen müssen Faktoren wie die Datenmengen der einzelnen zu analysierenden Datensätze, die aktuellen Lokalitäten dieser Datensätze, die komponentenbasierte Struktur der Anwendung sowie der Datenfluss der Anwendung berücksichtigt werden. Diese Arbeit stellt daher eine Methode sowie verschiedene Konzepte vor, um den Nutzer systematisch über den Lebenszyklus einer komponentenbasierten, datenverarbeitenden Anwendung hinweg, bei der Modellierung, Implementierung, Gruppierung, Platzierung und Bereitstellung der Anwendung zu unterstützen. Als Grundlage hierfür wird die sogenannte Shipping-Methode in dieser Arbeit eingeführt. Diese ermöglicht die Kollaboration verschiedener Experten und das Wiederverwenden von Expertenwissen. Weiterhin können Schritte der Methode sowohl manuell, semi-automatisiert als auch vollständig automatisiert durchgeführt werden. Die Methode basiert auf der deklarativen Modellierungssprache D3M, welche ebenfalls vorgestellt wird. D3M ermöglicht neben der reinen Modellierung einer klassischen Anwendungstopologie, auch die Modellierung von zusätzlichen Informationen, die für die Gruppierung und Platzierung der Anwendungen benötigt werden. Dazu gehören beispielsweise Informationen über die einzelnen zu verarbeitenden Datensätze und den Datenfluss innerhalb der Anwendung. Zur Vereinfachung kann ein solches D3M-Modell weiterhin auch aus einem Datenflussmodell generiert und die benötigten Informationen automatisiert daraus abgeleitet werden. Um die Implementierung von verteilbaren und interagierenden Komponenten eines D3M-Modells zu unterstützen, wird ein Programmiermodell vorgestellt, das mittels der Generierung von verschiedenen Code-Fragmenten den Endpunktaustausch und die Kommunikation zwischen diesen Komponenten abstrahiert. Um eine sichere und datenschutzkonforme Platzierung der Anwendungskomponenten sowie Verarbeitung der Daten gewährleisten zu können, wird ein Konzept zur Modellierung von wiederverwendbaren Sicherheitsrichtlinien sowie ein automatisiertes Verfahren zur Kontrolle und Einhaltung dieser Richtlinien eingeführt. Zur Validierung der praktischen Umsetzbarkeit der im Rahmen dieser Arbeit vorgestellten Konzepte wird weiterhin die Gesamtarchitektur eines entsprechenden Frameworks zur Realisierung der Shipping-Methode präsentiert. Darüber hinaus werden die hierzu angefertigten prototypischen Implementierungen vorgestellt und die Wiederverwendung der Konzepte und Prototypen in anderen Arbeiten und Projekten diskutiert.
  • Thumbnail Image
    ItemOpen Access
    Choreographiebasierte Konsolidierung von interagierenden BPEL-Prozessmodellen
    (2022) Wagner, Sebastian; Leymann, Frank (Prof. Dr. Dr. h.c.)
    An der Herstellung eines Guts oder bei der Erbringung einer Dienstleistung sind heutzutage verschiedene Unternehmen beteiligt, wobei jedes mit seinen eigenen Prozessen zur Gesamtwertschöpfungskette beiträgt. Um den Arbeitsablauf zu koordinieren, interagieren die Prozesse über Nachrichtenaustausch miteinander. Die beteiligten Unternehmen und die Reihenfolge der Interaktionen werden dabei mittels Choreographien festgelegt. Die Corona-Pandemie hat vielen Unternehmen die Anfälligkeit ihrer global verteilten Just-in-time-Wertschöpfungsketten vor Augen geführt. Daher geht in jüngster Zeit der Trend zum Insourcing, bei dem die Unternehmen ausgelagerten Prozesse wieder in die eigenen Prozesse eingliedern. Die Komplexität von Choreographien und Prozessen macht manuelles Insourcing aufwändig, besonders wenn viele Organisationen beteiligt sind. Daher wird in dieser Dissertation eine Methode vorgestellt, mit der das Insourcing von Prozessen, deren Interaktionsverhalten über eine Choreographie spezifiziert ist, automatisiert werden kann. Die Methode hat zum Ziel, aus einer Choreographie einen einzelnen konsolidierten Prozess zu erstellen, der das Verhalten der an der Choreographie beteiligten Prozesse und die Interaktionen zwischen ihnen emuliert. In dieser Arbeit wird das Verhalten von Choreographien bzw. Prozessen über die erlaubten Zustandstransitionen zwischen deren Aktivitäten definiert. Um das Verhalten einer Choreographie zu beschreiben und mit dem konsolidierten Prozessmodell zu vergleichen, wird ein auf der operationalen Semantik der Choreographiesprache BPEL4Chor und der Prozessmodellierungssprache BPEL basierendes Zustandstransitionsmodell definiert. Darauf aufbauend wird diskutiert, inwieweit die Konsolidierungsmethode Prozesse wiederherstellen kann, die zuvor durch Outsourcing fragmentiert wurden. Dazu wird untersucht, ob die konsolidierten Prozesse dasselbe Verhalten haben wie die originalen fragmentierten Prozesse. Die Interaktionsmöglichkeiten von Organisationen und Prozessen in Choreographien können in eine Menge von Interaktionsmustern kategorisiert werden. Es wird gezeigt, dass die Methode, bis auf zwei Ausnahmen, alle Muster konsolidieren kann. Die praktische Umsetzung der Methode erfolgt mittels der Anwendung Curveé, die Choreographien, die mit BPEL4Chor erstellt wurden, einliest und daraus Prozesse generiert, die in BPEL modelliert sind.
  • Thumbnail Image
    ItemOpen Access
    An Internet of Things and data-driven approach to data centers
    (2022) Setz, Brian; Aiello, Marco (Prof. Dr.)
    Data centers are a fundamental part of modern society, as they ensure that today's ICT services are available and responsive. The current trends show that data centers are increasing in size, which corresponds with an increase in their already significant energy footprint. As governments around the globe struggle to achieve their desired sustainability goals, the need for efficient and sustainable data centers is urgent. The Internet of Things (IoT) paradigm plays an important role in increasing the efficiency and sustainability of buildings. The smart home and office domains demonstrate the successful application of IoT in order to achieve energy savings through continuous monitoring and optimization of the building environment. Extending these techniques to the data center domain promises to bring the smartness previously seen in homes and offices to the data center. However, there are challenges that need to be overcome before the concept of a smart and optimized data center becomes a reality. In this thesis, a number of these challenges are addressed from a data-driven and IoT point of view.
  • Thumbnail Image
    ItemOpen Access
    Workflow-basierte Modellierung, Ausführung und Überwachung hybrider Quantenanwendungen
    (2024) Weder, Benjamin; Leymann, Frank (Prof. Dr. Dr. h.c.)
    Quantencomputing ermöglicht es verschiedene Problem schneller, präziser oder energieeffizienter zu lösen als dies mit klassischer Hardware möglich ist. Jedoch existiert aktuell keine Software-Engineering-Disziplin für die Entwicklung und den Betrieb entsprechender Quantenanwendungen. Quantenanwendungen sind fast immer hybrid, d. h. sie verwenden sowohl Quantenprogramme als auch klassische Programme. Deshalb ist deren Entwicklung und Betrieb sehr komplex und erfordert ein interdisziplinäres Team von Experten unterschiedlicher Bereiche, wie Mathematik, Physik oder Informatik. Dies führt zu einer Reihe von Herausforderungen: (i) Aktuell fehlt ein gemeinsames Verständnis der Experten, wie hybride Quantenanwendungen entwickelt und betrieben werden sollen. (ii) Außerdem ist die Erstellung hybrider Quantenanwendungen durch das Fehlen geeigneter Abstraktionen komplex und zeitaufwendig. (iii) Die Fehleranfälligkeit heutiger Quantencomputer erfordert darüber hinaus eine genaue Überwachung und Analyse der Ausführung, um mögliche Fehler und Verbesserungsmöglichkeiten zu identifizieren. Zu diesen Verbesserungsmöglichkeiten zählt beispielsweise die Verbesserung der Genauigkeit durch die Wahl eines anderen Quantencomputers oder der Effizienz durch die Verwendung einer hybriden Runtime. Auch fehlt aktuell eine Untersuchung, welche Daten für die Überwachung und Analyse gesammelt werden müssen und wie diese ausgewertet werden können. Um diese Herausforderungen zu lösen, stellt die vorliegende Arbeit einen Lebenszyklus für hybride Quantenanwendungen vor. Dieser Lebenszyklus betrachtet mit klassischen Programmen, Quantenprogrammen und Workflows alle relevanten Softwareartefakte und diskutiert entsprechende Phasen mit zugehörigen Leitlinien, Best Practices, Konzepten und Werkzeugen. Basierend auf den identifizierten Phasen des Lebenszyklus wird eine domänenspezifische Modellierungserweiterung für Workflows eingeführt. Diese enthält explizite Modellierungskonstrukte für unterschiedliche Verarbeitungsschritte bei der Ausführung hybrider Quantenanwendungen und definiert zugehörige Konfigurationsattribute. Infolgedessen wird die Modellierung von Workflows zur Orchestrierung hybrider Quantenanwendungen vereinfacht und deren Verständlichkeit sowie die Wiederverwendbarkeit einzelner Softwareartefakte erhöht. Durch eine automatisierte Transformation in native Workflows wird sichergestellt, dass die für die Ausführung des Workflows zu verwendende Workflow-Engine nicht erweitert werden muss. Zur Automatisierung weiterer aktuell manueller und fehleranfälliger Aufgaben werden außerdem Konzepte präsentiert, um Workflows zur Orchestrierung hybrider Quantenanwendungen zu analysieren, für eine optimierte Ausführung umzuschreiben, in einem eigenständigen Archiv mit allen Abhängigkeiten zu paketieren und für die Ausführung bereitzustellen. Um die Überwachung und Analyse der Ausführung hybrider Quantenanwendungen zu verbessern, diskutiert diese Arbeit, welche Daten hierfür erforderlich sind und wie diese automatisiert von einem Provenancesystem gesammelt und gespeichert werden können. Zudem werden geeignete Abstraktionen für die Überwachung und Analyse eingeführt, um bestimmte Informationen abhängig von den jeweiligen Nutzergruppen ein- oder auszublenden. Um die praktische Umsetzbarkeit der in dieser Arbeit präsentierten Konzepte und Ansätze zu zeigen, werden diese im Rahmen des sogenannten MODULO-Frameworks prototypisch implementiert. Außerdem erfolgt eine Validierung der Konzepte und Prototypen anhand eines industriellen Anwendungsfalls.
  • Thumbnail Image
    ItemOpen Access
    Modellbasiertes Management von Anwendungen
    (2023) Harzenetter, Lukas; Leymann, Frank (Prof. Dr. Dr. h. c.)
    Cloud-Anwendungen bestehen meist aus zahlreichen verschiedenen Komponenten, die zusammen die Funktionalität einer Anwendung umsetzen. Der Betrieb einer solchen Cloud-Anwendung umfasst dabei nicht nur die Bereitstellung der Anwendung, sondern auch ihr Management zur Laufzeit sowie ihre Außerbetriebnahme. Durch Deployment-Technologien lassen sich die Komponenten einer Cloud-Anwendung automatisiert und reproduzierbar bereitstellen sowie außer Betrieb nehmen. Dabei wird meist ein Deployment-Modell verwendet, welches den Zielzustand der Anwendung beschreibt und das von der entsprechenden Deployment-Technologie verarbeitet wird. Allerdings ist für das Erstellen eines Deployment-Modells Expertenwissen über die in der Anwendung verwendeten Komponenten und Technologien erforderlich, zum Beispiel welche Komponenten zusammenarbeiten können und welche Technologien sich gegenseitig ausschließen. Des Weiteren ist das Management ein zentraler Bestandteil einer sich im Betrieb befindlichen Anwendung. Wie auch für die Bereitstellung wird für das Management einer Anwendung Expertenwissen über die eingesetzten Komponenten und Technologien benötigt. Dabei können die Komponenten der Anwendung über mehrere Cloud-Anbieter und in-Haus-Lösungen verteilt sein und steigern somit die Komplexität dieser Aufgabe. Aktuelle Arbeiten und Deployment-Technologien unterstützten das automatisierte Management von verteilten Anwendungskomponenten jedoch kaum. Da die Komponenten einer Anwendung darüber hinaus meist von mehreren interdisziplinären Teams entwickelt werden, werden zudem unterschiedliche Deployment-Technologien für einzelne Komponenten eingesetzt. Dies erschwert das ganzheitliche Management einer Anwendung zusätzlich. In der vorliegenden Dissertation werden diese Herausforderungen angegangen, indem eine Methode vorgestellt wird, mit der (i) Anwendungen modelliert werden können, ohne dass Expertenwissen über Komponenten, Technologien und deren Konfigurationen benötigt wird. Anstelle der konkreten Komponenten und Technologien können Deployment-Modelle mit Muster modelliert werden, die abstrakte Lösungen zu wiederkehrenden Problemen beschreiben. Anschließend werden die Muster in einem solchen musterbasierten Deployment-Modell automatisiert zu passenden Komponenten und Technologien verfeinert. Bevor eine Anwendung im nächsten Schritt automatisiert bereitgestellt wird, kann das nun ausführbare Deployment-Modell (ii) automatisiert um zusätzliche Managementfunktionalitäten erweitert werden. Diese können zur Laufzeit der Anwendung ausgeführt werden und unterstützen sowohl verteilte Multi-Cloud-Anwendungen als auch Anwendungen, die mit mehreren Deployment-Technologien bereitgestellt werden. Zum Beispiel wird ein Managementkonzept eingeführt, das (iii) Anwendungen im aktuellen Zustand außer Betrieb nehmen und im selben Zustand wieder bereitstellen kann. Neben neu modellierten Anwendungen können die in dieser Arbeit vorgestellten Konzepte auch (iv) auf bereits laufende Anwendungen übertragen und angewendet werden. Die Umsetzbarkeit der Konzepte wird durch einen Open-Source Prototyp gezeigt.