Project Details
IAC2: Infrastructure-as-code Architecture Decision Compliance
Applicant
Professor Dr. Frank Leymann
Subject Area
Software Engineering and Programming Languages
Term
since 2017
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 314720630
Infrastructure-as-code (IaC) helps practitioner to automatically provision and manage IT infrastructures at scale, rather than using manual processes. The promise of IaC is easy, rapid, secure, reliable, and repeatable IT infrastructure provisioning and management. In IaC design and development many complex architectural design decisions (ADD) are made for the IaC system, the underlying infrastructure, and the software system to be delivered. Today foundations to make the (often huge) complexity of IaC manageable are missing, leading to low quality, high risks, and high costs/efforts in IaC design and development. The project has the objective to develop foundational concepts and methods to address these research gaps by studying the following research questions:RQ1: How can the informal IaC established practices documented in the literature today be specified in a rigorous way?RQ2: How can a broad set of IaC code and especially architecture smells and patterns be identified and detected in a systematic and automated fashion?RQ3: How can the enormous complexity of large-scale IaC architectures be tackled through evidence-based decision making?To address the research questions, the project aims to reduce complexity and improve quality through rigorous IaC ADD compliance specifications, and reduce risks and uncertainties by basing these specifications on established patterns and bad smells. Based on this foundation, it aims to provide means for precise identification of these patterns and bad smells in IaC code and architectures, and to provide automatic detection in IaC code and architectures. Together these contributions will enable improving quality through precise identification and automatic detection, and reducing risks and uncertainties by replacing manual processes, which also reduces the necessary costs and efforts in especially maintaining complex IaC architectures. Finally, the project aims to provide novel means for continuously measuring and monitoring IaC compliance improvements and degradations, thus enabling evidence-based improvement of the architecture. All project results will be evaluated in various empirical studies. While IaC has been used as a tool to help continuously improve the system to be deployed, e.g. for cloud applications, the evolution of the IaC architecture itself has not yet been studied in the literature. Given the broad use of IaC in practice and the enormous complexity of existing IaC architectures in large deployments, it is rather likely that often non-optimal decisions will be made, leading to severe design issues. This problem has not been addressed by any major research effort yet and requires new foundational research.
DFG Programme
Research Grants
International Connection
Austria
Partner Organisation
Fonds zur Förderung der wissenschaftlichen Forschung (FWF)
Cooperation Partner
Professor Dr. Uwe Zdun