This project aims at making the (often huge) complexity of Infrastructure-as-Code (IaC) scripts and architectures manageable. This manifests especially when considering not only the IaC scripts themselves but also all the related artefacts too, and when considering the global scope of the system as a whole in which many parts need to be provisioned and deployed in concert. Furthermore, IAC2 focuses on significantly improving the quality level of IaC coding and architecting - which are mostly performed ad-hoc nowadays, and on reducing the risks, uncertainties, costs, and efforts involved in these activities. Moreover, the project intends to enable evidence-based improvement of IaC code and architectures. Finally, within the scope of IAC2, reusable software tools will be envisioned and implemented. These tools will support the specification and measurement of both Architectural Design Decision (ADD) compliance and indicators. Moreover, it will facilitate the detection of certain compliance-related patterns and bad smells on one hand, and the measurement and monitoring of compliance metrics on the other hand.
IAC2 builds on the foundations laid out by the ADDCompliance project, which focused on ways to systematically ensure compliance to ADDs and architecture patterns mainly in the context of cloud-based systems. ADDCompliance indicated a substantial research gap on compliance to decisions made for deployment and infrastructure provisioning / management, and closing this gap is the major goal of IAC2.