Exploring Defect Categories for Infrastructure as Code

pdf

ABSTRACT

Infrastructure as code (IaC) technology refers to the process of automated and reproducible management of infrastructure that include operating systems, and software dependencies [1]. IaC technologies, such as Ansible, and Puppet aim to reduce deployment errors and deployment overhead through automation.

Practitioners have observed multiple benefits of using IaC technologies including rapid delivery of software changes and fewer configuration errors [2]. Yet, IaC scripts can be complex in nature containing hundreds of lines of code, exposing IaC scripts to defects that are potentially difficult to debug. For example, a small change in infrastructure configuration incorrectly enabled Microsoft Azure blob storage, causing a large-scale system outage for Microsoft Azure [3]. Systematic investigation of what categories of defects occur can help in understanding the nature of IaC defects and take appropriate actions to mitigate those defects.

The goal of this poster is to aid software practitioners in understanding of infrastructure as code (IaC)-related defects through categorization of defects that occur in IaC scripts.

Tags:
License: CC-2.5
Submitted by Laurie Williams on