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

被引:11
|
作者
Sandobalin, Julio [1 ,2 ]
Insfran, Emilio [2 ]
Abrahao, Silvia [2 ]
机构
[1] Escuela Politec Nacl, Dept Informat & Ciencias Computac, Quito 17012759, Ecuador
[2] Univ Politecn Valencia, Inst Univ Mixto Tecnol Informat, E-46022 Valencia, Spain
来源
IEEE ACCESS | 2020年 / 8卷 / 08期
关键词
Infrastructure as code; DevOps; model-driven engineering; controlled experiments; crossover design; linear mixed model; USER ACCEPTANCE; SOFTWARE; MAINTAINABILITY; STATE;
D O I
10.1109/ACCESS.2020.2966597
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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 & x2019; 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.
引用
收藏
页码:17734 / 17761
页数:28
相关论文
共 50 条
  • [1] Empirical study on the maintainability of Web applications: Model-driven Engineering vs Code-centric
    Martinez, Yulkeidi
    Cachero, Cristina
    Melia, Santiago
    EMPIRICAL SOFTWARE ENGINEERING, 2014, 19 (06) : 1887 - 1920
  • [2] Empirical study on the maintainability of Web applications: Model-driven Engineering vs Code-centric
    Yulkeidi Martínez
    Cristina Cachero
    Santiago Meliá
    Empirical Software Engineering, 2014, 19 : 1887 - 1920
  • [3] Code-Centric Code Generation
    Busch, Daniel
    Smyth, Steven
    Tegeler, Tim
    Steffen, Bernhard
    LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION: REOCAS COLLOQUIUM IN HONOR OF ROCCO DE NICOLA, PT I, ISOLA 2024, 2025, 15219 : 340 - 355
  • [4] Infrastructure-as-Code for Data-Intensive Architectures: A Model-Driven Development Approach
    Artac, Matej
    Borovsak, Tadej
    Di Nitto, Elisabetta
    Guerriero, Michele
    Perez-Palacin, Diego
    Tamburri, Damian Andrew
    2018 IEEE 15TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE (ICSA), 2018, : 156 - 165
  • [5] Model-Driven Java']Java Code Refactoring
    Hamioud, Sohaib
    Atil, Fadila
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2015, 12 (02) : 375 - 403
  • [6] Performing Incremental Generation of Code in Model-driven Engineering
    Garcia-Diaz, Vicente
    Pelayo G-Bustelo, B. Cristina
    Sanjuan-Martinez, Oscar
    Cueva Lovelle, Juan Manuel
    JOURNAL OF RESEARCH AND PRACTICE IN INFORMATION TECHNOLOGY, 2012, 44 (04): : 365 - 385
  • [7] ARGON: A Model-Driven Infrastructure Provisioning Tool
    Sandobalini, Julio
    Insfran, Emilio
    Abrando, Silvia
    2019 ACM/IEEE 22ND INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS COMPANION (MODELS-C 2019), 2019, : 738 - 742
  • [8] The human in model-driven engineering loop: A case study on integrating handwritten code in model-driven engineering repositories
    Rahad, Khandoker
    Badreddin, Omar
    Mohsin Reza, Sayed
    SOFTWARE-PRACTICE & EXPERIENCE, 2021, 51 (06) : 1308 - 1321
  • [9] Design of blockchain-based applications using model-driven engineering and low-code/no-code platforms: a structured literature review
    Curty, Simon
    Harer, Felix
    Fill, Hans-Georg
    SOFTWARE AND SYSTEMS MODELING, 2023, 22 (06) : 1857 - 1895
  • [10] Source-Code Level Regression Test Selection: the Model-Driven Way
    la Fosse, Thibault Beziers
    Mottu, Jean-Marie
    Tisi, Massimo
    Sunye, Gerson
    JOURNAL OF OBJECT TECHNOLOGY, 2019, 18 (02):