Evaluation der Qualit?t Cloud-nativer Software Architekturen
Cloud-native Anwendungen werden explizit für moderne Cloud-Umgebungen entwickelt und sind darauf ausgelegt, die Vorteile des Cloud Computing optimal auszunutzen. Dies umfasst mehrere Aspekte, wie z.B. eine fein-granulare modulare Architektur, die Verwendung vorhandener Cloud Services statt eigener Entwicklungen, die Ausnutzung der durch die Cloud erm?glichten Elastizit?t, die Robustheit der Anwendung durch die Verteilung auf unabh?ngige Rechner, sowie einen insgesamt schnelleren und agileren Entwicklungsprozess.
In diesem Projekt soll erforscht werden, wie eine Entwicklung solcher cloud-nativen Anwendungen unter Beachtung der schon genannten Aspekte unterstützt werden kann. Der Fokus liegt dabei auf der Gesamtarchitektur einer cloud-nativen Anwendung, d.h. wie die einzelnen Komponenten betrieben werden, in Zusammenhang stehen und miteinander interagieren.
Ziel ist es, ein Qualit?ts-Modell zu erstellen, welches die verschiedenen Charakteristiken Cloud-nativer Anwendungen umfasst und anhand einer Hierarchie übergeordneten Qualit?tsaspekten zuordnet. Diese Zuordnungen sollen dabei sowohl positive als auch negative Auswirkungen auf Qualit?tsaspekte umfassen k?nnen und es sollen sich Zuordnungen einzelner Charakteristiken zu mehreren verschiedenen Qualit?tsaspekten formulieren lassen. Mit Hilfe einer geeigneten Darstellung der Architektur einer cloud-nativen Anwendung soll es dann m?glich sein, das Qualit?ts-Modell auf eine solche Architektur anzuwenden und anhand aussagekr?ftiger Kennzahlen und Metriken die verschiedenen Qualit?tsaspekte zu evaluieren. Einerseits soll es mit dem Qualit?ts-Modell somit m?glich sein, die Qualit?t einer Architektur für einen bestimmten Aspekt zu evaluieren und zu verbessern und andererseits sollen auch Tradeoffs zwischen verschiedenen Qualit?tsaspekten anhand von Architektur-Alternativen sichtbar werden.
Das Qualit?ts-Modell soll dabei in verschiedenen Kontexten einsetzbar sein, z.B. beim Architekturdesign und der Planung einer neuen Anwendung aber auch bei der Analyse und Verbesserung einer bestehenden Anwendung.
Um das Qualit?ts-Modell auch praktisch anwendbar zu machen, ist eine geeignete Tool-Unterstützung essentiell. Eine prototypische Umsetzung sollte daher mit der Entwicklung einhergehen. Die Tool-Unterstützung sollte es erm?glichen Software Architekturen Cloud-nativer Anwendung zu modellieren, sodass dann eine Qualit?ts-Evaluation auf Basis des Qualit?tsmodells für eine modellierte Architektur durchgeführt werden kann. Bei der Umsetzung soll dabei auf einen m?glichst hohen Grad der Automatisierung geachtet werden und auch die Integration mit anderen verbreiteten Tools sollte m?glich sein.
Publikationen:
- Initiales Qualit?ts-Modell: Towards a Quality Model for Cloud-native Applications
(ESOCC 2022) - A Review of Approaches for Quality Model Validations in the Context of Cloud-native Applications
(ZEUS 2022) - An Evaluation of Modeling Options for Cloud-native Application Architectures to Enable Quality Investigations
(UCC Companion 2022) - Cloud-Native Architectural Characteristics and their Impacts on Software Quality: A Validation Survey
(SOSE 2023) - Formulating a quality model for cloud-native software architectures: conceptual and methodological considerations
(Cluster Computing 2024) - Erste Tool-Vorstellung: Clounaq - Cloud-native architectural quality (Tool Demonstration)
(ZEUS 2024) - Evaluating Cloud-Native Deployment Options with a Focus on Reliability Aspects
(SummerSoC 2024)