IAC2: Infrastructure-as-code Architekturentscheidungs-Compliance
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)
-
Automated detection of design patterns in declarative deployment models. Proceedings of the 14th IEEE/ACM International Conference on Utility and Cloud Computing, 1-10. ACM.
Harzenetter, Lukas; Breitenbücher, Uwe; Falazi, Ghareeb; Leymann, Frank & Wersching, Adrian
-
Detector-based component model abstraction for microservice-based systems. Computing, 103(11), 2521-2551.
Ntentos, Evangelos; Zdun, Uwe; Plakidas, Konstantinos; Genfer, Patric; Geiger, Sebastian; Meixner, Sebastian & Hasselbring, Wilhelm
-
Evaluating and Improving Microservice Architecture Conformance to Architectural Design Decisions. Lecture Notes in Computer Science, 188-203. Springer International Publishing.
Ntentos, Evangelos; Zdun, Uwe; Plakidas, Konstantinos & Geiger, Sebastian
-
Identifying Domain-Based Cyclic Dependencies in Microservice APIs Using Source Code Detectors. Lecture Notes in Computer Science, 207-222. Springer International Publishing.
Genfer, Patric & Zdun, Uwe
-
Assessing Architecture Conformance to Security-Related Practices in Infrastructure as Code Based Deployments. 2022 IEEE International Conference on Services Computing (SCC), 123-133. IEEE.
Ntentos, Evangelos; Zdun, Uwe; Falazi, Ghareeb; Breitenbucher, Uwe & Leymann, Frank
-
Assessing Architecture Conformance to Coupling-Related Infrastructure-as-Code Best Practices: Metrics and Case Studies. Lecture Notes in Computer Science, 101-116. Springer International Publishing.
Ntentos, Evangelos; Zdun, Uwe; Soldani, Jacopo & Brogi, Antonio
-
Avoiding Excessive Data Exposure Through Microservice APIs. Lecture Notes in Computer Science, 3-18. Springer International Publishing.
Genfer, Patric & Zdun, Uwe
-
On Unifying the Compliance Management of Applications Based on IaC Automation. 2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C), 226-229. IEEE.
Falazi, Ghareeb; Breitenbucher, Uwe; Leymann, Frank; Stotzner, Miles; Ntentos, Evangelos; Zdun, Uwe; Becker, Martin & Heldwein, Elena
-
Serverless or Serverful? A Pattern-Based Approach for Exploring Hosting Alternatives. Communications in Computer and Information Science, 45-67. Springer International Publishing.
Yussupov, Vladimir; Breitenbücher, Uwe; Brogi, Antonio; Harzenetter, Lukas; Leymann, Frank & Soldani, Jacopo
-
An Integrated Management System for Composed Applications Deployed by Different Deployment Automation Technologies. SN Computer Science, 4(4).
Harzenetter, Lukas; Breitenbücher, Uwe; Binz, Tobias & Leymann, Frank
-
Case Study for the IaC Compliance Management Framework (IACMF), Zenodo (2023)
Falazi, Ghareeb & Harzenetter, Lukas
-
Compliance Management of IaC-Based Cloud Deployments During Runtime. Proceedings of the IEEE/ACM 16th International Conference on Utility and Cloud Computing, 1-11. ACM.
Falazi, Ghareeb; Harzenetter, Lukas; Képes, Kálmán; Leymann, Frank; Breitenbücher, Uwe; Ntentos, Evangelos; Zdun, Uwe; Becker, Martin & Heldwein, Elena
-
Detecting and Resolving Coupling-Related Infrastructure as Code Based Architecture Smells in Microservice Deployments. 2023 IEEE 16th International Conference on Cloud Computing (CLOUD), 201-211. IEEE.
Ntentos, Evangelos; Zdun, Uwe; Falazi, Ghareeb; Breitenbücher, Uwe & Leymann, Frank
-
Microservice Security Metrics for Secure Communication, Identity Management, and Observability. ACM Transactions on Software Engineering and Methodology, 32(1), 1-34.
Zdun, Uwe; Queval, Pierre-Jean; Simhandl, Georg; Scandariato, Riccardo; Chakravarty, Somik; Jelic, Marjan & Jovanovic, Aleksandar
-
Source Code and Interviews with Industry Experts Regarding Compliance Management of IaC-Based Deployments During Runtime, Zenodo (2023)
Falazi, Ghareeb; Harzenetter, Lukas; Képes, Kálmán; Leymann, Frank; Breitenbücher, Uwe; Ntentos, Evangelos; Zdun, Uwe & Becker, Martin u. a.
-
Detection Strategies for Microservice Security Tactics. IEEE Transactions on Dependable and Secure Computing, 21(3), 1257-1273.
Zdun, Uwe; Queval, Pierre-Jean; Simhandl, Georg; Scandariato, Riccardo; Chakravarty, Somik; Jelić, Marjan & Jovanović, Aleksandar
