Infrastructure-as-Code Ecosystems

Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

19 Downloads (Pure)

Abstract

Infrastructure as Code (IaC) is the practice of automating the provisioning, configuration, and orchestration of systems onto which software is deployed through scripts in domain-specific languages. With the increasing importance of reliable and repeatable deployments, ecosystems are emerging around online repositories of reusable IaC assets. In this chapter, we study two such ecosystems in detail: the one forming around the Docker Hub repository of reusable Docker images and the one forming around the Ansible Galaxy repository of reusable Ansible roles. We start with an introduction to Docker, the most popular container management tool, and Ansible, the most popular configuration management tool. Although both tools are used to configure machines onto which applications are deployed, they differ fundamentally in the means through which this is achieved. Next, we discuss the Docker Hub and Ansible Galaxy online repositories for reusable Docker images and Ansible roles. Having introduced these emerging ecosystems, we highlight a number of approaches taken by researchers studying them. Subsequently, we survey the state of the art in research on the practices followed by their contributors and users, ranging from the versioning of releases and keeping dependencies up to date to detecting bugs. We conclude with the challenges that researchers face when analyzing these ecosystems.
Original languageEnglish
Title of host publicationSoftware Ecosystems: Tooling and Analytics
EditorsTom Mens, Coen De Roover, Anthony Cleve
PublisherSpringer
Chapter9
Pages215-245
Number of pages30
Edition1
ISBN (Electronic)978-3-031-36060-2
ISBN (Print)978-3-031-36059-6, 978-3-031-36062-6
DOIs
Publication statusPublished - 9 Aug 2023

Fingerprint

Dive into the research topics of 'Infrastructure-as-Code Ecosystems'. Together they form a unique fingerprint.

Cite this