Abstract
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.
Highlights
One of the most critical challenges in many of today’s organizations is how to deliver a new idea or software artifact to customers as fast as possible
We focus on the Infrastructure as Code (IaC) approach in terms of defining the cloud infrastructure resources to be provided
In order to improve the body of knowledge regarding empirical studies in IaC, this paper presents a family of three controlled experiments carried out to assess the effectiveness of tools with which to support the IaC as regards modeldriven and code-centric approaches
Summary
One of the most critical challenges in many of today’s organizations is how to deliver a new idea or software artifact to customers as fast as possible. In order to confront these challenges, a new movement denominated as DevOps (Development and Operations) is promoting the continuous collaboration between developers and operations staff by means of a set of principles, practices and tools so as to optimize the software delivery time [1]. DevOps implies a significant transformation in IT culture, focusing on rapid IT service delivery through the adoption of agile methodologies and lean practices in the context of a system-oriented approach [2]. In this context, software deployments are typically a huge source of problems and garner much attention from management.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.