Research Article
BibTex RIS Cite

Systematic Analysis of Infrastructure as Code Technologies

Year 2023, , 452 - 471, 31.12.2023
https://doi.org/10.54287/gujsa.1373305

Abstract

“Infrastructure as Code” technologies are the network automation concept used in configuring network devices, allocating network resources, and deploying developed applications. By using machine-readable codes, various tasks that previously required time and effort can now be done dynamically with infrastructure as code tools. Although Infrastructure as Code is a technology that brings many advantages and is still at the beginning of its popularity, there are not enough resource in the literature. In this study, the key concepts of Infrastructure as Code technologies are discussed and infrastructure as code tools are systematically examined. The six most used Infrastructure as Code tools were examined in terms of management, language, data representation, code approach, stateful and stateless, architectural perspectives. Also, they were compared over these key concepts. The main purpose of this article is to define, classify, and elucidate the emerging infrastructure as code tools.

References

  • Achar, S. (2021). Enterprise SaaS Workloads on New-Generation Infrastructure-as-Code (IaC) on Multi-Cloud Platforms. Global Disclosure of Economics and Business, 10(2), 55-74. https://www.doi.org/10.18034/gdeb.v10i2.652
  • Alonso, J., Piliszek, R., & Cankar, M. (2023). Embracing IaC Through the DevSecOps Philosophy: Concepts, Challenges, and a Reference Framework. IEEE Software, 40(1), 56-62. https://www.doi.org/10.1109/MS.2022.3212194
  • Artac, M., Borovssak, T., Di Nitto, E., Guerriero, M., & Tamburri, D. A. (2017, May 20-28). DevOps: Introducing infrastructure-as-code. In: Proceedings of the IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C 2017), (pp. 497-498). https://www.doi.org/10.1109/ICSE-C.2017.162
  • Artac, M., Borovsak, T., Di Nitto, E., Guerriero, M., Perez-Palacin, D., & Tamburri, D. A. (2018, April 30 - May 4). Infrastructure-as-Code for Data-Intensive Architectures: A Model-Driven Development Approach. In: Proceedings of the IEEE 15th International Conference on Software Architecture (ICSA 2018), (pp. 156-165). https://www.doi.org/10.1109/ICSA.2018.00025
  • AWS Architecture Blog. (2023). AWS Cloudformation (Accesed:13/11/2023) URL:https://aws.amazon.com/tr/blogs/architecture/category/management-tools/aws-cloudformation/
  • Balon, T., & Baggili, I. (Abe). (2023). Cybercompetitions: A survey of competitions, tools, and systems to support cybersecurity education. Education and Information Technologies, 28(9), 11759-11791. https://www.doi.org/10.1007/s10639-022-11451-4
  • Bellendorf, J., & Mann, Z. Á. (2020). Specification of cloud topologies and orchestration using TOSCA: a survey. Computing, 102(8), 1793-1815. https://www.doi.org/10.1007/s00607-019-00750-3
  • Bessghaier, N., Sayagh, M., Ouni, A., & Mkaouer, M. W. (2023). What Constitutes the Deployment and Run-Time Configuration System? An Empirical Study on OpenStack Projects. ACM Transactions on Software Engineering and Methodology, 33(1), 1-37. https://www.doi.org/10.1145/3607186
  • Chen, W., Wu, G., & Wei, J. (2018, October 15-18). An Approach to Identifying Error Patterns for Infrastructure as Code. In: Proceedings of the 29th IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW 2018), (pp. 124-129). https://www.doi.org/10.1109/ISSREW.2018.00-19
  • Chiari, M., De Pascalis, M., & Pradella, M. (2022, March 12-15). Static Analysis of Infrastructure as Code: a Survey. In: Proceedings of the IEEE 19th International Conference on Software Architecture Companion (ICSA-C), (pp. 218-225). https://www.doi.org/10.1109/ICSA-C54293.2022.00049
  • Daffalla Elradi, M. (2023). Ansible: A Reliable Tool for Automation. Electrical and Computer Engineering Studies, 2(1), 1-10. https://www.doi.org/10.58396/eces020104
  • Dalla Palma, S., van Asseldonk, C., Catolino, G., Di Nucci, D., Palomba, F., & Tamburri, D. A. (2023). “Through the looking-glass …” An empirical study on blob infrastructure blueprints in the Topology and Orchestration Specification for Cloud Applications. Journal of Software: Evolution and Process, 1-22. https://www.doi.org/10.1002/smr.2533
  • Dalla Palma, S., Di Nucci, D., Palomba, F., & Tamburri, D. A. (2020). Toward a catalog of software quality metrics for infrastructure code. Journal of Systems and Software, 170, 110726. https://www.doi.org/10.1016/j.jss.2020.110726
  • De Pascalis, M. (2022). Formal verification of infrastructure as code. MSc Thesis, Polytechnic University of Milan.
  • Diaz-De-Arcaya, J., Osaba, E., Benguria, G., Etxaniz, I., Lobo, J. L., Alonso, J., Torre-Bastida, A. I., & Almeida, A. (2023, April 15-19). IEM: A Unified Lifecycle Orchestrator for Multilingual IaC Deployments. In: Proceedings of the Companion of the 2023 ACM/SPEC International Conference on Performance Engineering (ICPE 2023), (pp. 195-199). https://www.doi.org/10.1145/3578245.3584938
  • Falazi, G., Breitenbucher, U., Leymann, F., Stotzner, M., Ntentos, E., Zdun, U., Becker, M., & Heldwein, E. (2022, March 12-15). On Unifying the Compliance Management of Applications Based on IaC Automation. In: Proceedings of the IEEE 19th International Conference on Software Architecture Companion (ICSA-C 2022), (pp. 226-229). https://www.doi.org/10.1109/ICSA-C54293.2022.00050
  • Gorroñogoitia, J., Radolović, D., Vasileiou, Z., Meditskos, G., Karakostas, A., Vrochidis, S., & Bachras, M. (2022). The SODALITE Model-Driven Approach. In: E. Di Nitto, J. Gorroñogoitia Cruz, I. Kumara, D. Radolović, K. Tokmakov, & Z. Vasileiou (Eds.), Deployment and Operation of Complex Software in Heterogeneous Execution Environments (pp. 23-52). SpringerBriefs in Applied Sciences and Technology, Springer, Cham. https://www.doi.org/10.1007/978-3-031-04961-3_3
  • Guerriero, M., Garriga, M., Tamburri, D. A., & Palomba, F. (2019, September 29 - October 4). Adoption, Support, and Challenges of Infrastructure-as-Code: Insights from Industry. In: Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME 2019), (pp. 580-589). https://www.doi.org/10.1109/ICSME.2019.00092
  • Gupta, M., Chowdary, M. N., Bussa, S., & Chowdary, C. K. (2021, October 22-23). Deploying Hadoop Architecture Using Ansible and Terraform. In: Proceedings of the 5th International Conference on Information Systems and Computer Networks (ISCON), (pp. 1-6). https://www.doi.org/10.1109/ISCON52037.2021.9702299
  • Gurbatov, G. (2022). A comparison between Terraform and Ansible on their impact upon the lifecycle and security management for modifiable cloud infrastructures in OpenStack. MSc Thesis, Blekinge Institute of Technology.
  • Hasbi, M., Reza Aristiadi Nurwa, A., Febriyan Priambodo, D., Riski Aulia Putra, W., Sinar Nusantara, S., & Siber dan Sandi Negara, P. (2022). Infrastructure as Code for Security Automation and Network Infrastructure Monitoring. Teknik Informatika Dan Rekayasa Komputer, 22(1), 203-217. https://www.doi.org/10.30812/matrik.v22i1.2471
  • Heap, M. (2016). Ansible: from beginner to pro. Apress. https://www.doi.org/10.1007/978-1-4842-1659-0
  • Ibrahim, A., Yousef, A. H., & Medhat, W. (2022, May 8-9). DevSecOps: A Security Model for Infrastructure as Code over the Cloud. In: Proceedings of the 2nd International Mobile, Intelligent, and Ubiquitous Computing Conference (MIUCC 2022), (pp. 284-288). https://www.doi.org/10.1109/MIUCC55081.2022.9781709
  • Johann, S. (2017). Kief Morris on Infrastructure as Code. IEEE Software, 34(1), 117-120, https://www.doi.org/10.1109/MS.2017.13
  • Karlsson, D. (2023). Comparison of infrastructure as code frameworks from a developer perspective. MSc Thesis, Linköping University.
  • Kumara, I., Garriga, M., Romeu, A. U., Di Nucci, D., Palomba, F., Tamburri, D. A., & van den Heuvel, W. J. (2021). The do’s and don’ts of infrastructure code: A systematic gray literature review. Information and Software Technology, 137(March), 106593. https://www.doi.org/10.1016/j.infsof.2021.106593
  • L’Esteve, R. C. (2023). Applying DevOps. In: R. C. L’Esteve (Eds.), The Cloud Leader’s Handbook: Strategically Innovate, Transform, and Scale Organizations (pp. 105-122). Apress. https://www.doi.org/10.1007/978-1-4842-9526-7_7
  • Manner, J. (2023, July 2-8). A Structured Literature Review Approach to Define Serverless Computing and Function as a Service. In: Proceedings of the IEEE International Conference on Cloud Computing, (pp. 516-522). https://www.doi.org/10.1109/CLOUD60044.2023.00068
  • Murphy, O. (2022). Adoption of Infrastructure as Code (IaC) in Real World Lessons and practices from industry. MSc Thesis, JAMK University of Applied Sciences.
  • Mustafa, O. (2023). Understanding DevOps Concepts. In: A Complete Guide to DevOps with AWS: Deploy, Build, and Scale Services with AWS Tools and Techniques (pp. 37-78). Apress. https://www.doi.org/10.1007/978-1-4842-9303-4_2
  • Muthoni, S., Okeyo, G., & Chemwa, G. (2021, December 9-10). Infrastructure as Code for Business Continuity in Institutions of Higher Learning. In: Proceedings of the International Conference on Electrical, Computer and Energy Technologies (ICECET), (pp. 1-6). https://www.doi.org/10.1109/ICECET52533.2021.9698544
  • Ning, A. (2023, February 24-26). An Ansible-based Distributed Application Architecture Rapid Deployment Scheme. In: Proceedings of the IEEE 2nd International Conference on Electrical Engineering, Big Data and Algorithms (EEBDA), (pp. 972-975). https://www.doi.org/10.1109/EEBDA56825.2023.10090753
  • Opdebeeck, R., Zerouali, A., Velazquez-Rodriguez, C., & Roover, C. De. (2020, September 28 - October 2). Does Infrastructure as Code Adhere to Semantic Versioning? An Analysis of Ansible Role Evolution. In: Proceedings of the 20th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2020), (pp. 238-248). https://www.doi.org/10.1109/SCAM51674.2020.00032
  • Opdebeeck, R., Zerouali, A., & Roover, C. De. (2023a). Infrastructure-as-Code Ecosystems. In: T. Mens, C. De Roover, & A. Cleve (Eds.), Software Ecosystems: Tooling and Analytics (pp. 215-245). Springer International Publishing. https://www.doi.org/10.1007/978-3-031-36060-2_9
  • Opdebeeck, R., Zerouali, A., & De Roover, C. (2023b, May 15-16). Control and Data Flow in Security Smell Detection for Infrastructure as Code: Is It Worth the Effort?. In: Proceedings of the IEEE/ACM 20th International Conference on Mining Software Repositories (MSR 2023), (pp. 534-545). https://www.doi.org/10.1109/MSR59073.2023.00079
  • Patni, J. C., Banerjee, S., & Tiwari, D. (2020, July 2-4). Infrastructure as a Code (IaC) to Software Defined Infrastructure using Azure Resource Manager (ARM). In: Proceedings of the International Conference on Computational Performance Evaluation (ComPE 2020), (pp. 575-578). https://www.doi.org/10.1109/ComPE49325.2020.9200030
  • Petrović, N., Cankar, M., & Luzar, A. (2022, November 15-16). Automated Approach to IaC Code Inspection Using Python-Based DevSecOps Tool. In: Proceedings of the 30th Telecommunications Forum (TELFOR), (pp. 1-4). https://www.doi.org/10.1109/TELFOR56187.2022.9983681
  • Quattrocchi, G., & Tamburri, D. A. (2023). Infrastructure as Code. IEEE Software, 40(1), 37-40. https://www.doi.org/10.1109/MS.2022.3212034
  • Rahman, A. (2018, May 27 - June 3). Characteristics of defective infrastructure as code scripts in DevOps. In: Proceedings of the International Conference on Software Engineering, (pp. 476-479). https://www.doi.org/10.1145/3183440.3183452
  • Rahman, A., Barsha, F. L., & Morrison, P. (2021, October 18-20). Shhh: 12 Practices for Secret Management in Infrastructure as Code. In: Proceedings of the IEEE Secure Development Conference (SecDev 2021), (pp. 56-62). https://www.doi.org/10.1109/SecDev51306.2021.00024
  • Rahman, A., Farhana, E., Parnin, C., & Williams, L. (2020, June 27 - July 19). Gang of eight: A defect taxonomy for infrastructure as code scripts. In: Proceedings of the International Conference on Software Engineering, (pp. 752-764). https://www.doi.org/10.1145/3377811.3380409
  • Rahman, A., Parnin, C., & Williams, L. (2019, May 25-31). The Seven Sins: Security Smells in Infrastructure as Code Scripts. In: Proceedings of the International Conference on Software Engineering, (pp. 164-175). https://www.doi.org/10.1109/ICSE.2019.00033
  • Rahman, A., & Williams, L. (2021). Different Kind of Smells: Security Smells in Infrastructure as Code Scripts. IEEE Security and Privacy, 19(3), 33-41. https://www.doi.org/10.1109/MSEC.2021.3065190
  • Raj, K. A., Anand, A., & Sahana, V. (2022). DevOps and Tools Used: A Systematic Review. (Accessed: 12/11/2023) URL:https://www.researchgate.net/publication/364567954_DevOps_and_Tools_Used_A_Systematic_Review
  • Salonen, E. (2020). Software Project Services using Infrastructure-as-Code. MSc Thesis, University of Vaasa.
  • Sandobalin, J., Insfran, E., & Abrahao, S. (2017, June 25-30). An Infrastructure Modelling Tool for Cloud Provisioning. In: Proceedings of the IEEE 14th International Conference on Services Computing (SCC 2017), (pp. 354-361). https://www.doi.org/10.1109/SCC.2017.52
  • Sandobalin, J., Insfran, E., & Abrahao, S. (2019, September 15-20). ARGON: A model-driven infrastructure provisioning tool. In: Proceedings of the ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C 2019), (pp. 738-742). https://www.doi.org/10.1109/MODELS-C.2019.00114
  • Santos, A., Bernardino, J., & Correia, N. (2023). Automated Application Deployment on Multi-Access Edge Computing: A Survey. IEEE Access, 11(July), 89393-89408. https://www.doi.org/10.1109/ACCESS.2023.3307023
  • Schwarz, J., Steffens, A., & Lichter, H. (2018, September 4-7). Code smells in infrastructure as code. In: Proceedings of the International Conference on the Quality of Information and Communications Technology (QUATIC 2018), (pp. 220-228). https://www.doi.org/10.1109/QUATIC.2018.00040
  • Shvetcova, V., Borisenko, O., & Polischuk, M. (2019, September 13-14). Domain-Specific Language for Infrastructure as Code. In: Proceedings of the Ivannikov Memorial Workshop (IVMEM 2019), (pp. 39-45). https://www.doi.org/10.1109/IVMEM.2019.00012
  • Singh, N. K., Thakur, S., Chaurasiya, H., & Nagdev, H. (2016, September 4-5). Automated provisioning of application in IAAS cloud using Ansible configuration management. In: Proceedings of the 1st International Conference on Next Generation Computing Technologies (NGCT 2015, September), (pp. 81-85). https://www.doi.org/10.1109/NGCT.2015.7375087
  • Sokolowski, D. (2022, November 14-18). Infrastructure as code for dynamic deployments. In: Proceedings of the 30th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (pp. 1775-1779). https://www.doi.org/10.1145/3540250.3558912
  • Sokolowski, D., & Salvaneschi, G. (2023, March 13-17). Towards Reliable Infrastructure as Code. In: Proceedings of the IEEE 20th International Conference on Software Architecture Companion (ICSA-C 2023), (pp. 318-321). https://www.doi.org/10.1109/ICSA-C57050.2023.00072
  • Sokolowski, D., Weisenburger, P., & Salvaneschi, G. (2023). Decentralizing Infrastructure as Code. IEEE Software, 40(1), 50-55. https://www.doi.org/10.1109/MS.2022.3192968
  • Soll, M., Helmken, H., Belde, M., Schimpfhauser, S., Nguyen, F., & Versick, D. (2023, May 1-4). Building an IT Security Laboratory for Complex Teaching Scenarios Using “Infrastructure as Code.” In: Proceedings of the IEEE Global Engineering Education Conference (EDUCON, 2023-May), (pp. 1-8). https://www.doi.org/10.1109/EDUCON54358.2023.10125250
  • Sorour, A., & Hamdy, A. (2022, July 21-23). DevOps and IaC to Automate the Delivery of Hands-On Software Lab Exams. In: Proceedings of the 6th International Conference on Computer, Software and Modeling (ICCSM), (pp. 28-35). https://www.doi.org/10.1109/ICCSM57214.2022.00012
  • Spielmann, D., Sokolowski, D., & Salvaneschi, G. (2023, October 22-27). Extensible Testing for Infrastructure as Code. In: Proceedings of the Companion Proceedings of the 2023 ACM SIGPLAN International Conference on Systems, Programming Languages, and Applications: Software for Humanity, (pp. 58-60). https://www.doi.org/10.1145/3618305.3623607
  • Statista (2023) Usage of cloud configuration tools worldwide in 2023, current and planned. (Accessed: 13/11/2023) URL:https://www.statista.com/statistics/511293/worldwide-survey-cloud-devops-tools/
  • Surianarayanan, C., & Chelliah, P. R. (2023). Cloud Integration and Orchestration. In: Essentials of Cloud Computing: A Holistic, Cloud-Native Perspective (2nd ed., pp. 305-319). Springer International Publishing. https://www.doi.org/10.1007/978-3-031-32044-6_11
  • Tankov, V., Valchuk, D., Golubev, Y., & Bryksin, T. (2021). Infrastructure in Code: Towards Developer-Friendly Cloud Applications. In: 36th IEEE/ACM International Conference on Automated Software Engineering (ASE 2021), (pp. 1166-1170). https://www.doi.org/10.1109/ASE51524.2021.9678943
  • Terraform (2023). Terrafform documentation. (Accessed: 10/11/2023) URL:https://developer.hashicorp.com/terraform?product_intent=terraform
  • Tripathi, A. (2023). Provisioning Secure Cloud Environment Using Policy-as-code and Infrastructure-as- code. MSc Thesis, School of Computing National College of Ireland.
  • Vladusic, D., & Radolovic, D. (2020, September 1-4). Infrastructure as Code for Heterogeneous Computing. In: Proceedings of the 22nd International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), (pp. 1-2). https://www.doi.org/10.1109/SYNASC51798.2020.00011
  • Wąsowski, A., & Berger, T. (2023). Concrete Syntax. In: Domain-Specific Languages: Effective Modeling, Automation, and Reuse (pp. 87-142). Springer International Publishing. https://www.doi.org/10.1007/978-3-031-23669-3_4
  • Witt, A., & Westling, S. (2023). Ansible In Different Cloud Environments. MSc Thesis, Mälardalen University.
  • Zadka, M. (2019). Salt Stack. In: DevOps in Python: Infrastructure as Python (pp. 121-137). Apress. https://www.doi.org/10.1007/978-1-4842-4433-3_10
  • Zhang, Y., Wu, F., & Rahman, A. (2023, March 13-17). Practitioner Perceptions of Ansible Test Smells. In: Proceedings of the IEEE 20th International Conference on Software Architecture Companion (ICSA-C 2023), (pp. 325-327). https://www.doi.org/10.1109/ICSA-C57050.2023.00074
Year 2023, , 452 - 471, 31.12.2023
https://doi.org/10.54287/gujsa.1373305

Abstract

References

  • Achar, S. (2021). Enterprise SaaS Workloads on New-Generation Infrastructure-as-Code (IaC) on Multi-Cloud Platforms. Global Disclosure of Economics and Business, 10(2), 55-74. https://www.doi.org/10.18034/gdeb.v10i2.652
  • Alonso, J., Piliszek, R., & Cankar, M. (2023). Embracing IaC Through the DevSecOps Philosophy: Concepts, Challenges, and a Reference Framework. IEEE Software, 40(1), 56-62. https://www.doi.org/10.1109/MS.2022.3212194
  • Artac, M., Borovssak, T., Di Nitto, E., Guerriero, M., & Tamburri, D. A. (2017, May 20-28). DevOps: Introducing infrastructure-as-code. In: Proceedings of the IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C 2017), (pp. 497-498). https://www.doi.org/10.1109/ICSE-C.2017.162
  • Artac, M., Borovsak, T., Di Nitto, E., Guerriero, M., Perez-Palacin, D., & Tamburri, D. A. (2018, April 30 - May 4). Infrastructure-as-Code for Data-Intensive Architectures: A Model-Driven Development Approach. In: Proceedings of the IEEE 15th International Conference on Software Architecture (ICSA 2018), (pp. 156-165). https://www.doi.org/10.1109/ICSA.2018.00025
  • AWS Architecture Blog. (2023). AWS Cloudformation (Accesed:13/11/2023) URL:https://aws.amazon.com/tr/blogs/architecture/category/management-tools/aws-cloudformation/
  • Balon, T., & Baggili, I. (Abe). (2023). Cybercompetitions: A survey of competitions, tools, and systems to support cybersecurity education. Education and Information Technologies, 28(9), 11759-11791. https://www.doi.org/10.1007/s10639-022-11451-4
  • Bellendorf, J., & Mann, Z. Á. (2020). Specification of cloud topologies and orchestration using TOSCA: a survey. Computing, 102(8), 1793-1815. https://www.doi.org/10.1007/s00607-019-00750-3
  • Bessghaier, N., Sayagh, M., Ouni, A., & Mkaouer, M. W. (2023). What Constitutes the Deployment and Run-Time Configuration System? An Empirical Study on OpenStack Projects. ACM Transactions on Software Engineering and Methodology, 33(1), 1-37. https://www.doi.org/10.1145/3607186
  • Chen, W., Wu, G., & Wei, J. (2018, October 15-18). An Approach to Identifying Error Patterns for Infrastructure as Code. In: Proceedings of the 29th IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW 2018), (pp. 124-129). https://www.doi.org/10.1109/ISSREW.2018.00-19
  • Chiari, M., De Pascalis, M., & Pradella, M. (2022, March 12-15). Static Analysis of Infrastructure as Code: a Survey. In: Proceedings of the IEEE 19th International Conference on Software Architecture Companion (ICSA-C), (pp. 218-225). https://www.doi.org/10.1109/ICSA-C54293.2022.00049
  • Daffalla Elradi, M. (2023). Ansible: A Reliable Tool for Automation. Electrical and Computer Engineering Studies, 2(1), 1-10. https://www.doi.org/10.58396/eces020104
  • Dalla Palma, S., van Asseldonk, C., Catolino, G., Di Nucci, D., Palomba, F., & Tamburri, D. A. (2023). “Through the looking-glass …” An empirical study on blob infrastructure blueprints in the Topology and Orchestration Specification for Cloud Applications. Journal of Software: Evolution and Process, 1-22. https://www.doi.org/10.1002/smr.2533
  • Dalla Palma, S., Di Nucci, D., Palomba, F., & Tamburri, D. A. (2020). Toward a catalog of software quality metrics for infrastructure code. Journal of Systems and Software, 170, 110726. https://www.doi.org/10.1016/j.jss.2020.110726
  • De Pascalis, M. (2022). Formal verification of infrastructure as code. MSc Thesis, Polytechnic University of Milan.
  • Diaz-De-Arcaya, J., Osaba, E., Benguria, G., Etxaniz, I., Lobo, J. L., Alonso, J., Torre-Bastida, A. I., & Almeida, A. (2023, April 15-19). IEM: A Unified Lifecycle Orchestrator for Multilingual IaC Deployments. In: Proceedings of the Companion of the 2023 ACM/SPEC International Conference on Performance Engineering (ICPE 2023), (pp. 195-199). https://www.doi.org/10.1145/3578245.3584938
  • Falazi, G., Breitenbucher, U., Leymann, F., Stotzner, M., Ntentos, E., Zdun, U., Becker, M., & Heldwein, E. (2022, March 12-15). On Unifying the Compliance Management of Applications Based on IaC Automation. In: Proceedings of the IEEE 19th International Conference on Software Architecture Companion (ICSA-C 2022), (pp. 226-229). https://www.doi.org/10.1109/ICSA-C54293.2022.00050
  • Gorroñogoitia, J., Radolović, D., Vasileiou, Z., Meditskos, G., Karakostas, A., Vrochidis, S., & Bachras, M. (2022). The SODALITE Model-Driven Approach. In: E. Di Nitto, J. Gorroñogoitia Cruz, I. Kumara, D. Radolović, K. Tokmakov, & Z. Vasileiou (Eds.), Deployment and Operation of Complex Software in Heterogeneous Execution Environments (pp. 23-52). SpringerBriefs in Applied Sciences and Technology, Springer, Cham. https://www.doi.org/10.1007/978-3-031-04961-3_3
  • Guerriero, M., Garriga, M., Tamburri, D. A., & Palomba, F. (2019, September 29 - October 4). Adoption, Support, and Challenges of Infrastructure-as-Code: Insights from Industry. In: Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME 2019), (pp. 580-589). https://www.doi.org/10.1109/ICSME.2019.00092
  • Gupta, M., Chowdary, M. N., Bussa, S., & Chowdary, C. K. (2021, October 22-23). Deploying Hadoop Architecture Using Ansible and Terraform. In: Proceedings of the 5th International Conference on Information Systems and Computer Networks (ISCON), (pp. 1-6). https://www.doi.org/10.1109/ISCON52037.2021.9702299
  • Gurbatov, G. (2022). A comparison between Terraform and Ansible on their impact upon the lifecycle and security management for modifiable cloud infrastructures in OpenStack. MSc Thesis, Blekinge Institute of Technology.
  • Hasbi, M., Reza Aristiadi Nurwa, A., Febriyan Priambodo, D., Riski Aulia Putra, W., Sinar Nusantara, S., & Siber dan Sandi Negara, P. (2022). Infrastructure as Code for Security Automation and Network Infrastructure Monitoring. Teknik Informatika Dan Rekayasa Komputer, 22(1), 203-217. https://www.doi.org/10.30812/matrik.v22i1.2471
  • Heap, M. (2016). Ansible: from beginner to pro. Apress. https://www.doi.org/10.1007/978-1-4842-1659-0
  • Ibrahim, A., Yousef, A. H., & Medhat, W. (2022, May 8-9). DevSecOps: A Security Model for Infrastructure as Code over the Cloud. In: Proceedings of the 2nd International Mobile, Intelligent, and Ubiquitous Computing Conference (MIUCC 2022), (pp. 284-288). https://www.doi.org/10.1109/MIUCC55081.2022.9781709
  • Johann, S. (2017). Kief Morris on Infrastructure as Code. IEEE Software, 34(1), 117-120, https://www.doi.org/10.1109/MS.2017.13
  • Karlsson, D. (2023). Comparison of infrastructure as code frameworks from a developer perspective. MSc Thesis, Linköping University.
  • Kumara, I., Garriga, M., Romeu, A. U., Di Nucci, D., Palomba, F., Tamburri, D. A., & van den Heuvel, W. J. (2021). The do’s and don’ts of infrastructure code: A systematic gray literature review. Information and Software Technology, 137(March), 106593. https://www.doi.org/10.1016/j.infsof.2021.106593
  • L’Esteve, R. C. (2023). Applying DevOps. In: R. C. L’Esteve (Eds.), The Cloud Leader’s Handbook: Strategically Innovate, Transform, and Scale Organizations (pp. 105-122). Apress. https://www.doi.org/10.1007/978-1-4842-9526-7_7
  • Manner, J. (2023, July 2-8). A Structured Literature Review Approach to Define Serverless Computing and Function as a Service. In: Proceedings of the IEEE International Conference on Cloud Computing, (pp. 516-522). https://www.doi.org/10.1109/CLOUD60044.2023.00068
  • Murphy, O. (2022). Adoption of Infrastructure as Code (IaC) in Real World Lessons and practices from industry. MSc Thesis, JAMK University of Applied Sciences.
  • Mustafa, O. (2023). Understanding DevOps Concepts. In: A Complete Guide to DevOps with AWS: Deploy, Build, and Scale Services with AWS Tools and Techniques (pp. 37-78). Apress. https://www.doi.org/10.1007/978-1-4842-9303-4_2
  • Muthoni, S., Okeyo, G., & Chemwa, G. (2021, December 9-10). Infrastructure as Code for Business Continuity in Institutions of Higher Learning. In: Proceedings of the International Conference on Electrical, Computer and Energy Technologies (ICECET), (pp. 1-6). https://www.doi.org/10.1109/ICECET52533.2021.9698544
  • Ning, A. (2023, February 24-26). An Ansible-based Distributed Application Architecture Rapid Deployment Scheme. In: Proceedings of the IEEE 2nd International Conference on Electrical Engineering, Big Data and Algorithms (EEBDA), (pp. 972-975). https://www.doi.org/10.1109/EEBDA56825.2023.10090753
  • Opdebeeck, R., Zerouali, A., Velazquez-Rodriguez, C., & Roover, C. De. (2020, September 28 - October 2). Does Infrastructure as Code Adhere to Semantic Versioning? An Analysis of Ansible Role Evolution. In: Proceedings of the 20th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2020), (pp. 238-248). https://www.doi.org/10.1109/SCAM51674.2020.00032
  • Opdebeeck, R., Zerouali, A., & Roover, C. De. (2023a). Infrastructure-as-Code Ecosystems. In: T. Mens, C. De Roover, & A. Cleve (Eds.), Software Ecosystems: Tooling and Analytics (pp. 215-245). Springer International Publishing. https://www.doi.org/10.1007/978-3-031-36060-2_9
  • Opdebeeck, R., Zerouali, A., & De Roover, C. (2023b, May 15-16). Control and Data Flow in Security Smell Detection for Infrastructure as Code: Is It Worth the Effort?. In: Proceedings of the IEEE/ACM 20th International Conference on Mining Software Repositories (MSR 2023), (pp. 534-545). https://www.doi.org/10.1109/MSR59073.2023.00079
  • Patni, J. C., Banerjee, S., & Tiwari, D. (2020, July 2-4). Infrastructure as a Code (IaC) to Software Defined Infrastructure using Azure Resource Manager (ARM). In: Proceedings of the International Conference on Computational Performance Evaluation (ComPE 2020), (pp. 575-578). https://www.doi.org/10.1109/ComPE49325.2020.9200030
  • Petrović, N., Cankar, M., & Luzar, A. (2022, November 15-16). Automated Approach to IaC Code Inspection Using Python-Based DevSecOps Tool. In: Proceedings of the 30th Telecommunications Forum (TELFOR), (pp. 1-4). https://www.doi.org/10.1109/TELFOR56187.2022.9983681
  • Quattrocchi, G., & Tamburri, D. A. (2023). Infrastructure as Code. IEEE Software, 40(1), 37-40. https://www.doi.org/10.1109/MS.2022.3212034
  • Rahman, A. (2018, May 27 - June 3). Characteristics of defective infrastructure as code scripts in DevOps. In: Proceedings of the International Conference on Software Engineering, (pp. 476-479). https://www.doi.org/10.1145/3183440.3183452
  • Rahman, A., Barsha, F. L., & Morrison, P. (2021, October 18-20). Shhh: 12 Practices for Secret Management in Infrastructure as Code. In: Proceedings of the IEEE Secure Development Conference (SecDev 2021), (pp. 56-62). https://www.doi.org/10.1109/SecDev51306.2021.00024
  • Rahman, A., Farhana, E., Parnin, C., & Williams, L. (2020, June 27 - July 19). Gang of eight: A defect taxonomy for infrastructure as code scripts. In: Proceedings of the International Conference on Software Engineering, (pp. 752-764). https://www.doi.org/10.1145/3377811.3380409
  • Rahman, A., Parnin, C., & Williams, L. (2019, May 25-31). The Seven Sins: Security Smells in Infrastructure as Code Scripts. In: Proceedings of the International Conference on Software Engineering, (pp. 164-175). https://www.doi.org/10.1109/ICSE.2019.00033
  • Rahman, A., & Williams, L. (2021). Different Kind of Smells: Security Smells in Infrastructure as Code Scripts. IEEE Security and Privacy, 19(3), 33-41. https://www.doi.org/10.1109/MSEC.2021.3065190
  • Raj, K. A., Anand, A., & Sahana, V. (2022). DevOps and Tools Used: A Systematic Review. (Accessed: 12/11/2023) URL:https://www.researchgate.net/publication/364567954_DevOps_and_Tools_Used_A_Systematic_Review
  • Salonen, E. (2020). Software Project Services using Infrastructure-as-Code. MSc Thesis, University of Vaasa.
  • Sandobalin, J., Insfran, E., & Abrahao, S. (2017, June 25-30). An Infrastructure Modelling Tool for Cloud Provisioning. In: Proceedings of the IEEE 14th International Conference on Services Computing (SCC 2017), (pp. 354-361). https://www.doi.org/10.1109/SCC.2017.52
  • Sandobalin, J., Insfran, E., & Abrahao, S. (2019, September 15-20). ARGON: A model-driven infrastructure provisioning tool. In: Proceedings of the ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C 2019), (pp. 738-742). https://www.doi.org/10.1109/MODELS-C.2019.00114
  • Santos, A., Bernardino, J., & Correia, N. (2023). Automated Application Deployment on Multi-Access Edge Computing: A Survey. IEEE Access, 11(July), 89393-89408. https://www.doi.org/10.1109/ACCESS.2023.3307023
  • Schwarz, J., Steffens, A., & Lichter, H. (2018, September 4-7). Code smells in infrastructure as code. In: Proceedings of the International Conference on the Quality of Information and Communications Technology (QUATIC 2018), (pp. 220-228). https://www.doi.org/10.1109/QUATIC.2018.00040
  • Shvetcova, V., Borisenko, O., & Polischuk, M. (2019, September 13-14). Domain-Specific Language for Infrastructure as Code. In: Proceedings of the Ivannikov Memorial Workshop (IVMEM 2019), (pp. 39-45). https://www.doi.org/10.1109/IVMEM.2019.00012
  • Singh, N. K., Thakur, S., Chaurasiya, H., & Nagdev, H. (2016, September 4-5). Automated provisioning of application in IAAS cloud using Ansible configuration management. In: Proceedings of the 1st International Conference on Next Generation Computing Technologies (NGCT 2015, September), (pp. 81-85). https://www.doi.org/10.1109/NGCT.2015.7375087
  • Sokolowski, D. (2022, November 14-18). Infrastructure as code for dynamic deployments. In: Proceedings of the 30th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (pp. 1775-1779). https://www.doi.org/10.1145/3540250.3558912
  • Sokolowski, D., & Salvaneschi, G. (2023, March 13-17). Towards Reliable Infrastructure as Code. In: Proceedings of the IEEE 20th International Conference on Software Architecture Companion (ICSA-C 2023), (pp. 318-321). https://www.doi.org/10.1109/ICSA-C57050.2023.00072
  • Sokolowski, D., Weisenburger, P., & Salvaneschi, G. (2023). Decentralizing Infrastructure as Code. IEEE Software, 40(1), 50-55. https://www.doi.org/10.1109/MS.2022.3192968
  • Soll, M., Helmken, H., Belde, M., Schimpfhauser, S., Nguyen, F., & Versick, D. (2023, May 1-4). Building an IT Security Laboratory for Complex Teaching Scenarios Using “Infrastructure as Code.” In: Proceedings of the IEEE Global Engineering Education Conference (EDUCON, 2023-May), (pp. 1-8). https://www.doi.org/10.1109/EDUCON54358.2023.10125250
  • Sorour, A., & Hamdy, A. (2022, July 21-23). DevOps and IaC to Automate the Delivery of Hands-On Software Lab Exams. In: Proceedings of the 6th International Conference on Computer, Software and Modeling (ICCSM), (pp. 28-35). https://www.doi.org/10.1109/ICCSM57214.2022.00012
  • Spielmann, D., Sokolowski, D., & Salvaneschi, G. (2023, October 22-27). Extensible Testing for Infrastructure as Code. In: Proceedings of the Companion Proceedings of the 2023 ACM SIGPLAN International Conference on Systems, Programming Languages, and Applications: Software for Humanity, (pp. 58-60). https://www.doi.org/10.1145/3618305.3623607
  • Statista (2023) Usage of cloud configuration tools worldwide in 2023, current and planned. (Accessed: 13/11/2023) URL:https://www.statista.com/statistics/511293/worldwide-survey-cloud-devops-tools/
  • Surianarayanan, C., & Chelliah, P. R. (2023). Cloud Integration and Orchestration. In: Essentials of Cloud Computing: A Holistic, Cloud-Native Perspective (2nd ed., pp. 305-319). Springer International Publishing. https://www.doi.org/10.1007/978-3-031-32044-6_11
  • Tankov, V., Valchuk, D., Golubev, Y., & Bryksin, T. (2021). Infrastructure in Code: Towards Developer-Friendly Cloud Applications. In: 36th IEEE/ACM International Conference on Automated Software Engineering (ASE 2021), (pp. 1166-1170). https://www.doi.org/10.1109/ASE51524.2021.9678943
  • Terraform (2023). Terrafform documentation. (Accessed: 10/11/2023) URL:https://developer.hashicorp.com/terraform?product_intent=terraform
  • Tripathi, A. (2023). Provisioning Secure Cloud Environment Using Policy-as-code and Infrastructure-as- code. MSc Thesis, School of Computing National College of Ireland.
  • Vladusic, D., & Radolovic, D. (2020, September 1-4). Infrastructure as Code for Heterogeneous Computing. In: Proceedings of the 22nd International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), (pp. 1-2). https://www.doi.org/10.1109/SYNASC51798.2020.00011
  • Wąsowski, A., & Berger, T. (2023). Concrete Syntax. In: Domain-Specific Languages: Effective Modeling, Automation, and Reuse (pp. 87-142). Springer International Publishing. https://www.doi.org/10.1007/978-3-031-23669-3_4
  • Witt, A., & Westling, S. (2023). Ansible In Different Cloud Environments. MSc Thesis, Mälardalen University.
  • Zadka, M. (2019). Salt Stack. In: DevOps in Python: Infrastructure as Python (pp. 121-137). Apress. https://www.doi.org/10.1007/978-1-4842-4433-3_10
  • Zhang, Y., Wu, F., & Rahman, A. (2023, March 13-17). Practitioner Perceptions of Ansible Test Smells. In: Proceedings of the IEEE 20th International Conference on Software Architecture Companion (ICSA-C 2023), (pp. 325-327). https://www.doi.org/10.1109/ICSA-C57050.2023.00074
There are 67 citations in total.

Details

Primary Language English
Subjects Networking and Communications
Journal Section Information and Computing Sciences
Authors

Erdal Özdoğan 0000-0002-3339-0493

Onur Ceran 0000-0003-2147-0506

Mutlu Tahsin Üstündağ 0000-0001-6198-2819

Early Pub Date December 12, 2023
Publication Date December 31, 2023
Submission Date October 9, 2023
Published in Issue Year 2023

Cite

APA Özdoğan, E., Ceran, O., & Üstündağ, M. T. (2023). Systematic Analysis of Infrastructure as Code Technologies. Gazi University Journal of Science Part A: Engineering and Innovation, 10(4), 452-471. https://doi.org/10.54287/gujsa.1373305