Modeling Cloud Infrastructure Provisioning: A Software-as-a-Service Approach

##plugins.themes.bootstrap3.article.main##

Julio Sandobalín

Carlos Iñiguez-Jarrín


Keywords:
Infraestructura como Código, Lenguaje Específico de Dominio, Aprovisionamiento de Infraestructura en la Nube, Software como un Servicio, Ingeniería de Software Dirigida por Modelos ; Infrastructure as Code, Domain-Specific Language, Cloud Infrastructure Provisioning, Software-as-a- Services, Model-Driven Engineering

Abstract

Provisioning means making an infrastructure element, such as a server or network device, ready for use. DevOps community leverages the Infrastructure as Code (IaC) approach to supply tools for cloud infrastructure provision. However, each provisioning tool has its scripting language, and managing different tools for several cloud providers is time-consuming and error-prone. In previous work, we presented a model-driven infrastructure provisioning tool called ARGON, which leverages the IaC approach using Model-Driven Engineering. ARGON provides a modeling language to specify cloud infrastructure resources and generates scripts to support cloud infrastructure provisioning orchestration. Since ARGON runs in the Eclipse Desktop IDE, we propose to migrate from an ARGON Desktop to an ARGON Cloud as a Software-as-a-Service approach. On the one hand, we developed a domain-specific modeling language using JavaScript Frameworks. On the other hand, we used a Model-to-Text transformation engine through a REST web service to generate scripts. Finally, we carried out an example by modeling infrastructure resources for Amazon Web Services and then generating a script for the Ansible tool.

##plugins.themes.revistapolitecnica.stadistisDownloadTitle##

Downloads

Download data is not yet available.




Article Details

##plugins.themes.revistapolitecnica.submission.authorBiographies##

Julio Sandobalín, Escuela Politécnica Nacional, Departamento de Informática y Ciencias de la Computación, Quito, Ecuador

Julio Sandobalin is Professor and Researcher at the Department of Informatics and Computer Science, Escuela Politécnica Nacional, Ecuador. He received his Ph.D. in Computer Science from Universitat Politècnica de València, Spain. He also holds a Master's Degree in Software Engineering from Universitat Politècnica de València, Spain. His research areas of interest are Model-Driven Engineering, Requirement Engineering, Empirical Software Engineering, DevOps, and Agile.

Carlos Iñiguez-Jarrín, Escuela Politécnica Nacional, Departamento de Informática y Ciencias de la Computación, Quito, Ecuador

Carlos Iñiguez-Jarrín is Professor in informatics at Escuela Politécnica Nacional (EPN), Ecuador. He has a Ph.D. in Computer Science from Universitat Politècnica de València (Spain), where he was a member of the Genomic Group at PROS Research Center. He holds a Master's Degree in Web Engineering from Universidad Politécnica de Madrid (Spain). He is currently involved in user experience design and interaction design.

References

Brambilla, Marco, Jordi Cabot, and Manuel Wimmer (2017). Model-Driven Software Engineering in Practice. 2nd. Morgan and Claypool Publishers. ISBN: 9781627057080.

Brikman, Yevgeniy (2019). Terraform: Up and Running. O’Reilly Media, Inc., p. 368. ISBN: 9781492046905.

Buyya, Rajkumar, James Broberg, and Andrzej Goscinski (Jan. 2011). Cloud Computing: Principles and Paradigms. John Wiley and Sons. ISBN: 9780470887998.

Casola, Valentina et al. (Aug. 2017). «MUSA deployer: De-ployment of Multi-cloud Applications». In: Institute of Electrical and Electronics Engineers Inc., pp. 107–112. ISBN:9781538617588. DOI: https://doi.org/10.1109/WETICE.2017.46.

Chen, Wei et al. (Aug. 2016). «MORE: A model-driven op-eration service for cloud-based IT systems». In: Institute of Electrical and Electronics Engineers Inc., pp. 633–640. ISBN:9781509026289. DOI: https://doi.org/10.1109/SCC.2016.88.

Chiari, Michele et al. (2022). «Developing a New DevOps Mod-elling Language to Support the Creation of Infrastructure as Code». In: Communications in Computer and Information Sci-ence 1617 CCIS, pp. 88–93. DOI: https://doi.org/10.1007/978-3-031-23298-5_8.

Farley, Dave and Jez Humble (2010). Continuous Delivery: Re-liable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley Professional, p. 300. ISBN:9780321670250.

Ferry, Nicolas et al. (Jan. 2018). «CloudMF: Model-Driven Man-agement of Multi-Cloud Applications». In: ACM Transactions on Internet Technology (TOIT) 18 (2). DOI: https://doi.org/10.1145/3125621. URL: https://dl.acm.org/doi/10.1145/3125621.

Guerriero, Michele et al. (2019). «Adoption, Support, and Chal-lenges of Infrastructure-as-Code: Insights from Industry». In: pp. 580–589. DOI: https://doi.org/10.1109/ICSME.2019.00092.

Kartheeyayini, V. et al. (2022). «AWS cloud computing platforms deployment of landing zone - Infrastructure as a code». In: vol. 2393. DOI: https://doi.org/10.1063/5.0079757.

López-Viana, Ramón, Jessica Díaz, and Jorge E. Pérez (2022). «Continuous Deployment in IoT Edge Computing: A GitOps implementation». In: 2022 17th Iberian Conference on In-formation Systems and Technologies (CISTI), pp. 1–6. DOI: https://doi.org/10.23919/CISTI54924.2022.9820108.

Miñón, Raúl et al. (2022). «Pangea: An MLOps Tool for Au-tomatically Generating Infrastructure and Deploying Analytic Pipelines in Edge, Fog and Cloud Layers». In: Sensors 22(12). DOI: https://doi.org/10.3390/s22124425.

Morris, Kief (2016). Infrastructure as Code : Managing Servers in the Cloud. O’Reilly Media, Inc. ISBN: 9781491924358.

Neharika, Keerthi and Ruth G. Lennon (2023). «Investigations into Secure IaC Practices». In: Proceedings of Seventh Interna-tional Congress on Information and Communication Technol-ogy. Ed. by Xin-She Yang et al. Springer Nature Singapore: Singapore, pp. 289–303. ISBN: 978-981-19-1610-6. DOI: https://doi.org/10.1007/978-981-19-1610-6_25.

Nitto, Elisabetta Di et al. (2017). Model-Driven Development and Operation of Multi-Cloud Applications. Ed. by Elisabetta Di Nitto et al. 1st. Springer Cham. DOI: https://doi.org/10.1007/978-3-319-46031-4.

Palma, Stefano Dalla, Dario Di Nucci, and Damian Tamburri (2022). «Defuse: A Data Annotator and Model Builder for Soft-ware Defect Prediction». In: 2022 IEEE International Con-ference on Software Maintenance and Evolution (ICSME), pp. 479–483. DOI: https://doi.org/10.1109/ICSME55016.2022.00063.

Rossini, Alessandro (2015). «Cloud Application Modelling and Execution Language (CAMEL) and the PaaSage Workflow». In: Advances in Service-Oriented and Cloud Computing — Workshops of ESOCC 2015, Taormina, Italy. ISBN: 978-3-319-33312-0. DOI: https://doi.or/10.1007/978-3-319-33313-7.

Sandobalin, Julio, Emilio Insfran, and Silvia Abrahao (2017a). «An Infrastructure Modelling Tool for Cloud Provisioning». In: Proceedings of the IEEE 14th International Conference on Services Computing, SCC 2017. ISBN: 9781538620052. DOI:https://doi.org/10.1109/SCC.2017.52.

Sandobalin, Julio, Emilio Insfran, and Silvia Abrahao (2017b). «End-to-end automation in cloud infrastructure provision-ing». In: Proceedings of the 26th International Confer-ence on Information Systems Development, ISD 2017. ISBN: 9789963228836. URL: http://aisel.aisnet.org/isd2014/proceedings2017/ISDMethodologies /5.

Sandobalin, Julio, Emilio Insfran, and Silvia Abrahao (2018). «An infrastructure modeling approach for multi-cloud provi-sioning». In: Proceedings of the 27th International Conference on Information Systems Development: Designing Digitaliza-tion, ISD 2018. ISBN: 978-91-7753-876-9. URL: https://aisel.aisnet.org/isd2014/proceedings2018/ISDMethodologies/2.

Sandobalin, Julio, Emilio Insfran, and Silvia Abrahao (2020). «On the effectiveness of tools to support infrastructure as code:Model-driven versus code-centric». In: IEEE Access 8. ISSN: 21693536. DOI: https://doi.org/10.1109/ACCESS.2020.2966597.

Solayman, Haleema Essa and Rawaa Putros Qasha (2023). «Seamless Integration of DevOps Tools for Provisioning Automation of the IoT Application on Multi-Infrastructures». In: 2023 3rd International Conference on Intelligent Communi-cation and Computational Techniques (ICCT), pp. 1–7. DOI https://doi.org/10.1109/ICCT56969.2023.10075814.

Steinberg, David et al. (2009). EMF: Eclipse Modeling Frame-work. 2nd. Addison-Wesley Professional. ISBN: 0321331885.

Zhou, Huan et al. (2019). «CloudsStorm: A framework for seam-lessly programming and controlling virtual infrastructure functions during the DevOps lifecycle of cloud applications». In: Software - Practice and Experience 49(10), pp. 1421–1447. DOI: https://doi.org/10.1002/spe.2741.