Infrastructure as Code (IaC) ist ein Ansatz zur Verwaltung von Cloud-Infrastruktur mithilfe versionskontrollierter, maschinenlesbarer Definitionsdateien anstelle manueller Konfiguration. Infrastrukturkomponenten wie Server, Netzwerke und Cloud-Services werden dabei als deklarative Konfigurationen beschrieben, die automatisch bereitgestellt, geändert und entfernt werden können. Da Infrastrukturdefinitionen als Code verwaltet werden, müssen sie – ähnlich wie traditionelle Softwaresysteme – auf Korrektheit und Zuverlässigkeit getestet werden. Das Testen von IaC unterscheidet sich jedoch in mehreren Aspekten vom klassischen Softwaretesten. Tests erfordern häufig die Bereitstellung realer Cloud-Ressourcen, was sie zeitaufwändiger, kostenintensiver und abhängig von externen Diensten machen kann. Darüber hinaus bedeutet die deklarative Natur der meisten IaC-Sprachen, dass ein großer Teil des Systemverhaltens ohne tatsächliche Bereitstellung der Infrastruktur nur eingeschränkt überprüft werden kann. Obwohl die akademische Literatur das Testen von IaC-Projekten auf einer allgemeinen Ebene empfiehlt, gibt es bislang nur begrenzte empirische Erkenntnisse darüber, wie Testpraktiken in realen IaC-Projekten tatsächlich umgesetzt werden. Diese Lücke wird auch durch mehrere Praktikerbefragungen bestätigt, die eine Diskrepanz zwischen dem wahrgenommenen Stellenwert des Testens und dessen tatsächlicher Anwendung in der Praxis aufzeigen. Ziel dieser Arbeit ist es, diese Lücke durch drei Beiträge zu adressieren. Erstens wird ein auf der wissenschaftlichen Literatur basierendes Evaluierungsframework entwickelt, um die Testreife von IaC-Projekten systematisch zu bewerten. Zweitens wird dieses Framework auf fünfundzwanzig Open-Source-GitHub-Repositories angewendet, die IaC-Tests implementieren, wodurch detaillierte Evaluierungen der einzelnen Projekte entstehen. Drittens werden übergreifende Erkenntnisse zusammengeführt, um Bereiche der Übereinstimmung und Abweichung zwischen akademischen Empfehlungen und den beobachteten Praktiken zu identifizieren. Auf Grundlage dieser Ergebnisse werden spezifische praxisorientierte Empfehlungen abgeleitet, die zentrale Testprioritäten zur Verbesserung der Testpraktiken in IaC-Projekten aufzeigen.
Elma Hamzabegovic (Thu,) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: