Aplicación cloud native en el contexto de una ingeniería de software continua

Palabras clave: cloud native application, modelos de servicios cloud, patrón BFF, ingeniería de software continua

Resumen

Una aplicación cloud native es un tipo de software que ha sido diseñado específicamente para ejecutarse en la nube, con enfoque distribuido, elástico, escalado horizontal y compuesto de microservicios con implementación autónoma. Asimismo, se diseñan con arquitecturas web cloud native, operan en una plataforma elástica de autoservicio y se caracterizan por su resiliencia y elasticidad. La ingeniería de software continua es un proceso que busca articular la ingeniería de requisitos, el desarrollo y las operaciones en un bucle continuo, con una retroalimentación recíproca, con la finalidad de producir un software de calidad. En ese contexto, el presente trabajo propone el diseño e implementación de una aplicación cloud native en una perspectiva de ingeniería de software continua, aplicada al caso de estudio SIGCON. Usa el modelo de servicio cloud CaaS, aplica el patrón BFF en la construcción del software, realiza contenedorización del frontend, backend y almacenamiento, y expone los resultados.

Descargas

La descarga de datos todavía no está disponible.

Biografía del autor/a

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

Citas

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

Publicado
2024-07-31
Cómo citar
Mamani Rodriguez, Z. (2024). Aplicación cloud native en el contexto de una ingeniería de software continua. Interfases, (019), 61-76. https://doi.org/10.26439/interfases2024.n19.7038
Sección
Artículos de investigación