On the Effectiveness of Tools to Support Infrastructure as Code: Model-Driven Versus Code-Centric

Infrastructure as Code (IaC) is an approach for infrastructure automation that is based on software development practices. The IaC approach supports code-centric tools that use scripts to specify the creation, updating and execution of cloud infrastructure resources. Since each cloud provider offers...

Full description

Bibliographic Details
Main Authors: Julio Sandobalin, Emilio Insfran, Silvia Abrahao
Format: Article
Language:English
Published: IEEE 2020-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8959180/
id doaj-1b86a4808fe943ef89c076043b8ae806
record_format Article
spelling doaj-1b86a4808fe943ef89c076043b8ae8062021-03-30T02:51:38ZengIEEEIEEE Access2169-35362020-01-018177341776110.1109/ACCESS.2020.29665978959180On the Effectiveness of Tools to Support Infrastructure as Code: Model-Driven Versus Code-CentricJulio Sandobalin0https://orcid.org/0000-0002-5273-9195Emilio Insfran1https://orcid.org/0000-0003-0855-5564Silvia Abrahao2https://orcid.org/0000-0003-3580-2014Departamento de Informática y Ciencias de la Computación, Escuela Politécnica Nacional, Quito, EcuadorInstituto Universitario Mixto de Tecnología Informática, Universitat Politècnica de València, Valencia, SpainInstituto Universitario Mixto de Tecnología Informática, Universitat Politècnica de València, Valencia, SpainInfrastructure as Code (IaC) is an approach for infrastructure automation that is based on software development practices. The IaC approach supports code-centric tools that use scripts to specify the creation, updating and execution of cloud infrastructure resources. Since each cloud provider offers a different type of infrastructure, the definition of an infrastructure resource (e.g., a virtual machine) implies writing several lines of code that greatly depend on the target cloud provider. Model-driven tools, meanwhile, abstract the complexity of using IaC scripts through the high-level modeling of the cloud infrastructure. In a previous work, we presented an infrastructure modeling approach and tool (Argon) for cloud provisioning that leverages model-driven engineering and supports the IaC approach. The objective of the present work is to compare a model-driven tool (Argon) with a well-known code-centric tool (Ansible) in order to provide empirical evidence of their effectiveness when defining the cloud infrastructure, and the participants' perceptions when using these tools. We, therefore, conducted a family of three experiments involving 67 Computer Science students in order to compare Argon with Ansible as regards their effectiveness, efficiency, perceived ease of use, perceived usefulness, and intention to use. We used the AB/BA crossover design to configure the individual experiments and the linear mixed model to statistically analyze the data collected and subsequently obtain empirical findings. The results of the individual experiments and meta-analysis indicate that Argon is more effective as regards supporting the IaC approach in terms of defining the cloud infrastructure. The participants also perceived that Argon is easier to use and more useful for specifying the infrastructure resources. Our findings suggest that Argon accelerates the provisioning process by modeling the cloud infrastructure and automating the generation of scripts for different DevOps tools when compared to Ansible, which is a code-centric tool that is greatly used in practice.https://ieeexplore.ieee.org/document/8959180/Infrastructure as codeDevOpsmodel-driven engineeringcontrolled experimentscrossover designlinear mixed model
collection DOAJ
language English
format Article
sources DOAJ
author Julio Sandobalin
Emilio Insfran
Silvia Abrahao
spellingShingle Julio Sandobalin
Emilio Insfran
Silvia Abrahao
On the Effectiveness of Tools to Support Infrastructure as Code: Model-Driven Versus Code-Centric
IEEE Access
Infrastructure as code
DevOps
model-driven engineering
controlled experiments
crossover design
linear mixed model
author_facet Julio Sandobalin
Emilio Insfran
Silvia Abrahao
author_sort Julio Sandobalin
title On the Effectiveness of Tools to Support Infrastructure as Code: Model-Driven Versus Code-Centric
title_short On the Effectiveness of Tools to Support Infrastructure as Code: Model-Driven Versus Code-Centric
title_full On the Effectiveness of Tools to Support Infrastructure as Code: Model-Driven Versus Code-Centric
title_fullStr On the Effectiveness of Tools to Support Infrastructure as Code: Model-Driven Versus Code-Centric
title_full_unstemmed On the Effectiveness of Tools to Support Infrastructure as Code: Model-Driven Versus Code-Centric
title_sort on the effectiveness of tools to support infrastructure as code: model-driven versus code-centric
publisher IEEE
series IEEE Access
issn 2169-3536
publishDate 2020-01-01
description Infrastructure as Code (IaC) is an approach for infrastructure automation that is based on software development practices. The IaC approach supports code-centric tools that use scripts to specify the creation, updating and execution of cloud infrastructure resources. Since each cloud provider offers a different type of infrastructure, the definition of an infrastructure resource (e.g., a virtual machine) implies writing several lines of code that greatly depend on the target cloud provider. Model-driven tools, meanwhile, abstract the complexity of using IaC scripts through the high-level modeling of the cloud infrastructure. In a previous work, we presented an infrastructure modeling approach and tool (Argon) for cloud provisioning that leverages model-driven engineering and supports the IaC approach. The objective of the present work is to compare a model-driven tool (Argon) with a well-known code-centric tool (Ansible) in order to provide empirical evidence of their effectiveness when defining the cloud infrastructure, and the participants' perceptions when using these tools. We, therefore, conducted a family of three experiments involving 67 Computer Science students in order to compare Argon with Ansible as regards their effectiveness, efficiency, perceived ease of use, perceived usefulness, and intention to use. We used the AB/BA crossover design to configure the individual experiments and the linear mixed model to statistically analyze the data collected and subsequently obtain empirical findings. The results of the individual experiments and meta-analysis indicate that Argon is more effective as regards supporting the IaC approach in terms of defining the cloud infrastructure. The participants also perceived that Argon is easier to use and more useful for specifying the infrastructure resources. Our findings suggest that Argon accelerates the provisioning process by modeling the cloud infrastructure and automating the generation of scripts for different DevOps tools when compared to Ansible, which is a code-centric tool that is greatly used in practice.
topic Infrastructure as code
DevOps
model-driven engineering
controlled experiments
crossover design
linear mixed model
url https://ieeexplore.ieee.org/document/8959180/
work_keys_str_mv AT juliosandobalin ontheeffectivenessoftoolstosupportinfrastructureascodemodeldrivenversuscodecentric
AT emilioinsfran ontheeffectivenessoftoolstosupportinfrastructureascodemodeldrivenversuscodecentric
AT silviaabrahao ontheeffectivenessoftoolstosupportinfrastructureascodemodeldrivenversuscodecentric
_version_ 1724184383427969024