The 'as Code' Activities: Development Anti-patterns for Infrastructure as Code

by   Akond Rahman, et al.
Tennessee Tech University
NC State University

Context: The 'as code' suffix in infrastructure as code (IaC) refers to applying software engineering activities, such as version control, to maintain IaC scripts. Without the application of these activities, defects that can have serious consequences may be introduced in IaC scripts. A systematic investigation of the development anti-patterns for IaC scripts can guide practitioners in identifying activities to avoid defects in IaC scripts. Development anti-patterns are recurring development activities that relate with defective IaC scripts. Goal: The goal of this paper is to help practitioners improve the quality of infrastructure as code (IaC) scripts by identifying development activities that relate with defective IaC scripts. Methodology: We identify development anti-patterns by adopting a mixed-methods approach, where we apply quantitative analysis with 2,138 open source IaC scripts and conduct a survey with 51 practitioners. Findings: We observe five development activities to be related with defective IaC scripts from our quantitative analysis. We identify five development anti-patterns namely, 'boss is not around', 'many cooks spoil', 'minors are spoiler', 'silos', and 'unfocused contribution'. Conclusion: Our identified development anti-patterns suggest the importance of 'as code' activities in IaC because these activities are related to quality of IaC scripts.


page 1

page 2

page 3

page 4


Video Game Project Management Anti-patterns

Project Management anti-patterns are well-documented in the software-eng...

Cataloging Dependency Injection Anti-Patterns in Software Systems

Context: Dependency Injection (DI) is a commonly applied mechanism to de...

Microservices Anti-Patterns: A Taxonomy

Several companies are re-architecting their monolithic information syste...

Categorizing Defects in Infrastructure as Code

Infrastructure as code (IaC) scripts are used to automate the maintenanc...

Characterizing and Mitigating Anti-patterns of Alerts in Industrial Cloud Systems

Alerts are crucial for requesting prompt human intervention upon cloud a...

DeepIaC: Deep Learning-Based Linguistic Anti-pattern Detection in IaC

Linguistic anti-patterns are recurring poor practices concerning inconsi...

Source Code Properties of Defective Infrastructure as Code Scripts

Context: In continuous deployment, software and services are rapidly dep...

Please sign up or login with your details

Forgot password? Click here to reset