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...
Main Authors: | , , |
---|---|
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 |