Desarrollo de un sistema de monitoreo de métricas de rendimiento en aplicaciones en la nube con plataformas tipo Serverless Containers y Kubernetes (2022)
Durante los últimos años, ha habido un crecimiento exponencial del acceso a la tecnología web en Colombia. Esto ha implicado a su vez, una migración masiva de los negocios y las empresas al uso de este tipo de tecnologías. No obstante lo anterior, existen, como es natural, muchos fallos, errores y riesgos en las mismas; sobre todo en lo referente a las arquitecturas de software, que pueden derivar en pérdidas económicas, toda vez que la satisfacción de los usuarios con las plataformas disminuye siempre que estas no cumplen con los requisitos de calidad para su despliegue adecuado. Este contexto explica la necesidad de ejecutar pruebas de rendimiento que ayuden a detectar y corregir los errores y fallos, de manera temprana. En el presente trabajo se toma como punto de inicio GreenSQA, una plataforma que permite ejecutar este tipo de pruebas. Sin embargo, actualmente la plataforma no cuenta con la tecnología para ejecutarlas en los servicios en la nube tipo Kubernetes y Serverless Containers, de forma automatizada y en tiempo de ejecución. Pensando en lo anterior, se presenta aquí el desarrollo de la creación de un sistema que permita la automatización y facilite el monitoreo y la visualización de métricas de rendimiento en aplicaciones web que operan en plataformas tipo Serverless Containers y Kubernetes, para diferentes clientes de GreenSQA. En la investigación se realizó un exhaustivo análisis del funcionamiento de la tecnología Kubernetes (los servicios que ofrece y su forma de operar). Se identificaron los proveedores de servicios de Kubernetes y se les realizaron pruebas de conceptos. Así mismo, se identificaron los indicadores de salud del clúster con el fin de seleccionar las métricas más relevantes. Se desarrolló un paquete Helm Chart y se desarrollaron cuatro niveles de tableros para monitorear y visualizar las métricas. Se realizó con ello una plataforma sobre la que se realizaron nuevas pruebas de performance; logrando así desplegar el software propuesto.