Continuous Software Engineering of a Cloud-Native Application

Authors

DOI:

https://doi.org/10.26439/interfases2024.n19.7038

Keywords:

Cloud Native Application, Cloud Service Models, BFF Pattern, Continuous Software Engineering

Abstract

A cloud-native application is a software specifically designed to run in the cloud, focusing on distributed, elastic, horizontally scaled, and microservice-based architecture with autonomous deployment. These applications are designed with cloud-native web architectures, operate on an elastic self-service platform, and stand out because of their resilience and elasticity. Continuous software engineering integrates requirements engineering, development, and operations in a continuous loop with reciprocal feedback to produce quality software. The present work proposes to design and implement a cloud-native application applied to the SIGCON case study from a continuous software engineering perspective. It uses the CaaS cloud service model, applies the BFF pattern in software construction, containerizes the frontend, backend, and storage, and presents the results.

Downloads

Download data is not yet available.

Author Biography

  • Zoraida Mamani Rodriguez, Universidad Nacional Mayor de San Marcos, Perú

    Es doctora en Ingeniería por la Universidad Nacional Federico Villarreal, magíster en Computación e Informática por la Universidad Nacional Mayor de San Marcos, e ingeniería de sistemas. Es docente de la Escuela de Ciencia de la Computación de la Universidad Nacional de Ingeniería y coordinadora del grupo de investigación Ingeniería Web de la Facultad de Ingeniería de Sistemas e Informática de la UNMSM. Es investigadora en las áreas de ingeniería de software, aprendizaje automático, ciencia de datos y GovTech

References

Almuairfi, S., & Alenezi, M. (2020). Security controls in infrastructure as code. Computer fraud & security, 2020(10), 13-19. https://doi.org/10.1016/S1361-3723(20)30109-3

Balalaie, A., Heydarnoori, A., & Jamshidi, P. (2016). Microservices architecture enables DevOps: migration to a Cloud-Native architecture. IEEE Software, 33(3), 42-52. https://doi.org/10.1109/MS.2016.64

Brown, K., & Woolf, B. (2016, octubre). Implementation patterns for microservices architectures. [presentación de paper]. PLoP’16: Proceedings of the 23rd Conference on pattern languages of programs, 1-35. https://www.hillside.net/plop/2016/papers/proceedings/papers/brown.pdf

Buchanan, I. (2024). Infrastructure as code. How infrastructure as code (IaC) manages complex infrastructures. Atlassian. https://www.atlassian.com/microservices/cloud-computing/infrastructure-as-code

Casa Grande. (2023, 12 de mayo). Reglamento de convivencia de edificios y condominios. https://www.administracionedificiosperu.com/2020/09/reglamento-de-convivencia-de-edificios.html

Docker (2024). Use containers to build, share and run your applications. https://www.docker.com/resources/what-container/

Duan, Y., Fu, G., Zhou, N., Sun, X., Narendra, N. & Hu, B. (2015). Everything as a service (Xaas) on the cloud: origins, current and future trends. CLOUD’15: proceedings of the 2045 IEEE 8th International conference on cloud computing, 621-628. https://doi.org/10.1109/CLOUD.2015.88

Eramo, R., Tucci, M., Di Pompeo, D., Cortellessa, V., Di Marco, A., & Taibi, D. (2024). Architectural support for software performance in continuous software engineering: a systematic mapping study. Journal of systems and software, 207, 111833. https://doi.org/10.1016/j.jss.2023.111833

Espinoza, C. (2020, 22 de febrero). Crecimiento urbano y ciudades del futuro. El Peruano. https://elperuano.pe/noticia/90177-crecimiento-urbano-y-ciudades-del-futuro

Flask. (s. f.). Flask. User’s guide. https://flask.palletsprojects.com/en/3.0.x/

FlaskSQLalchemy. (s. f.). Flask SQLalchemy. User guide. https://flask-sqlalchemy.palletsprojects.com/en/3.1.x/

Habala, O., Bobák, M., Šeleng, M., Tran, V., & Hluchý, L. (2023). Architecture of a function-as-a-service application. Computing and informatics, 42(4), 878-895. https://doi.org/10.31577/cai_2023_4_878

Hussein, M. K., Mousa, M. H., & Alqarni, M. A. (2019). A placement architecture for a container as a service (CaaS) in a cloud environment. Journal of cloud computing, 8, 7. https://doi.org/10.1186/s13677-019-0131-1

Kratzke, N., & Quint, P-C. (2017). Understanding cloud-native applications after 10 years of cloud computing. A systematic mapping study. Journal of systems and software, 126, 1-16. https://doi.org/10.1016/j.jss.2017.01.001

Larman, C. (1999). UML y patrones: una introducción al análisis y diseño orientado a objetos. Prentice Hall.

Mell, P., & Grance, T. (2012). The NIST definition of cloud computing. National Institute of Standards and Technology. https://doi.org/10.6028/NIST.SP.800-145

Merelli, I., Fornari, F., Tordini, F., D’Agostino, D., Aldinucci, M., & Cesini, D. (2019). Exploiting Docker containers over grid computing for a comprehensive study of chromatin conformation in different cell types. Journal of parallel and distributed computing, 134, 116-127. https://doi.org/10.1016/j.jpdc.2019.08.002

SQLAlchemy. (s. f.). The Python SQL toolkit and object relational mapper. https://www.sqlalchemy.org/

Stine, M. (2015). Migrating to cloud-native application architectures. O’Reilly Media.

Toffetti, G., Brunner, S., Blöchlinger, M., Spillner, J., & Bohnert, T. (2017). Self-managing cloud-native applications: design, implementation, and experience. Future generation computer systems, 72, 165-179. https://doi.org/10.1016/j.future.2016.09.002

Vega, É. (2021, 5 de mayo). Crecimiento inmobiliario vertical de Lima muestra comportamientos diferenciados. El Comercio. https://elcomercio.pe/economia/negocios/crecimiento-inmobiliario-vertical-de-lima-muestra-comportamientos-diferenciados-mercado-inmobiliario-capeco-tinsa-ncze-noticia/?ref=ecr

Published

2024-07-31

Issue

Section

Research papers

How to Cite

Continuous Software Engineering of a Cloud-Native Application. (2024). Interfases, 019, 61-76. https://doi.org/10.26439/interfases2024.n19.7038