Infrastructure as Code: Final Report
This report concludes work on a research project to explore the feasibility of infrastructure as code, summarizing the problem addressed by the research, the research solution approach, and results. Infrastructure as code (IaC) is a set of practices that use code to set up virtual machines and networks, install packages, and configure environments. Successful IaC adoption by software sustainers requires a broad set of skills and knowledge. This project addresses the problem of accelerating IaC adoption among software sustainment organizations. Our goal was to answer this question:
Our approach included developing prototype tools to inventory the system computing nodes, applying heuristic rules to make sense of the inventory, populating a model of the deployment architecture, and automatically generating IaC scripts from that model.