Detailseite
Projekt Druckansicht

IAC2: Infrastructure-as-code Architekturentscheidungs-Compliance

Fachliche Zuordnung Softwaretechnik und Programmiersprachen
Förderung Förderung von 2017 bis 2023
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 314720630
 
Erstellungsjahr 2024

Zusammenfassung der Projektergebnisse

Infrastructure-as-Code (IaC) bezeichnet Praktiken, bei denen wiederverwendbare Skripte und Deployment-Modelle zur Verwaltung und Bereitstellung von IT-Infrastruktur eingesetzt werden. Darüber hinaus unterliegen die Konfiguration und die Host-Umgebungen für Softwareanwendungen in der Regel domänenspezifischen Vorgaben, Gesetzen und Richtlinien, die häufig als Architectural Design Decisions (ADDs) dargestellt werden. Dies gilt ebenso für IaC-basierte Cloud-Anwendungen. Eine Untersuchung des State of the Art zeigt jedoch auf, dass es weder eine präzise Definition des Konzepts der Konformität von IaC-basierten Anwendungen (IaC-Compliance) mit umzusetzenden ADDs gibt, noch eine systematische Methode, um diese Konformität in allen Software-Delivery-Phasen zu überprüfen und durchzusetzen. Das Hauptziel des IAC²-Projekts ist daher, die systematische Definition und Verwaltung der IaC-Compliance zu erleichtern. Dieses Ziel wird durch eine Vielzahl von Kooperationen mit akademischen und industriellen Partnern und durch insgesamt 14 Forschungsarbeiten erreicht, die in einer Vielzahl von wissenschaftlichen Fachzeitschriften und -konferenzen veröffentlicht wurden. Während des Projektverlaufs wurden etablierte Muster und Anti-Muster auf Code- und Architekturebene mit Fokus auf Aspekten der Sicherheit, des Komponenten-Hostings und - Managements sowie auf Kopplungspraktiken für IaC-basierte Cloud-Anwendungen analysiert. Zudem wurden deren Verwendung als Grundlage für ADDs untersucht und Spezifikationen entwickelt, die eine strenge Definition der Konformität IaC-basierter Cloud-Anwendungen mit ADDs ermöglichen. Darüber hinaus wurden mehrere Methoden eingeführt, die die Definition, Überprüfung und Durchsetzung von Konformitätsregeln sowohl zur Entwurfszeit als auch zur Laufzeit erleichtern. Für die Entwurfszeit wurde ein detektorbasierter Ansatz entwickelt, der den Quellcode der Anwendung, einschließlich IaC, analysiert, um auf die Architektur zu schließen. Hierbei werden sorgfältig entwickelte Detektoren verwendet, um die Einhaltung der umzusetzenden ADDs zu untersuchen, und ein iterativer, halbautomatischer Architekturverfeinerungsprozess eingesetzt, um die Konformität des Anwendungsdesigns schrittweise zu verbessern. Für das Compliance-Management zur Laufzeit, wurde eine Methode entwickelt, die einen Crawler-basierten Ansatz zur Rekonstruktion der Architektur einer laufenden IaC-basierten Cloud-Anwendung verwendet. Anschließend wird die resultierende Anwendungsinstanz anhand vordefinierter architektonischer Konformitätsregeln überprüft. Dabei werden potenzielle Verstöße markiert, halbautomatische Korrekturen angewendet und eine Validierung durchgeführt, um die Integrität sicherzustellen. Beide vorgestellten Methoden werden anhand von Fallstudien und Interviews mit Industrieexperten evaluiert, um ihre Benutzerfreundlichkeit und ihre Fähigkeit zur Reduzierung von Komplexität und Aufwand zu bewerten. Alle im Rahmen dieses Projekts entwickelten Konzepte und Methoden sind auf weitere Bereiche des Compliance-Managements erweiterbar und werden durch Plugin-basierte, leicht verwendbare Open-Source-Prototypen validiert, die die Portabilität und Wiederverwendbarkeit erleichtern.

Projektbezogene Publikationen (Auswahl)

 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung