TECLAB: Cómo alcanzar la excelencia en el rendimiento y estabilidad de sistemas educativos en línea
En el competitivo mundo de la educación en línea, brindar servicios estables y de alto rendimiento es crucial para el éxito de cualquier institución académica. Para TECLAB, reconocido Instituto Técnico Superior en Argentina que ofrece carreras 100% online, ofrecer a sus alumnos una experiencia digital fluida y sin interrupciones, es prioridad, afianzando su propuesta de una nueva experiencia educativa, una educación ágil, flexible y con visión de futuro. Con esta premisa como norte, iniciamos en conjunto un proyecto para mejorar la escalabilidad, rendimiento y estabilización de diferentes sistemas.
Entrevistamos a dos referentes del proyecto, Lucas Golubenko, Software Engineer en el team Teclab y a Christian Pardavila, Manager en el mismo team para que nos cuenten en detalle cuáles fueron y son las acciones tomadas en este proyecto y su impacto en la institución y el estudiantado.
Desafíos Iniciales: Estabilidad y Rendimiento Educativo
Al inicio del proyecto, nos enfocamos en lograr una mayor estabilidad y una respuesta más rápida por parte de la aplicación para así evitar interrupciones en los servicios que pudieran afectar negativamente la experiencia de los diferentes usuarios, tanto estudiantes, como administrativos y de gestión. Optimizando así también el uso de recursos para mantener el sistema funcionando correctamente.
Crecer, también trae aparejados algunos desafíos. El aumento de conexiones con la base de datos, y la necesidad de generar reportes teniendo mayor volumen de datos para analizar; puso sobre la mesa la necesidad de implementar mejoras para poder seguir operando normalmente.
“Para optimizar los tiempos de respuesta y reducir los costos asociados, se investigó a fondo y se descubrió que al cambiar la forma en que estaba implementado el generador de informes, se podía reducir el tiempo a solo segundos.” nos comenta Lucas.
Optimización y Escalabilidad para un Crecimiento Sostenible
En una segunda etapa, el enfoque del proyecto se dirigió hacia la optimización del código existente, buscando reducir el tiempo de respuesta de las acciones diarias en el portal. Este enfoque no solo mejoraría la percepción de los usuarios, sino que también permitiría a TECLAB atender a una mayor cantidad de usuarios recurrentes (escalabilidad) sin necesidad de incrementar los recursos necesarios. Se lograron mejoras significativas mediante la reestructuración de código y consultas, así como la aplicación de técnicas de caché para evitar consultas repetitivas a las bases de datos cuando los datos de origen permanecían constantes.
Mejora en tiempo de respuesta obtenida por aplicación de ETags
Mejora en tiempo de respuesta obtenida por aplicación de indexados
Además, se implementó una integración con servicios de almacenamiento de objetos proporcionados por AWS. Esta integración permitió evitar la necesidad de alojar archivos de gran tamaño en la base de datos y reducir el uso de recursos en general. “Al almacenar archivos en AWS, TECLAB pudo mejorar los tiempos de respuesta de la aplicación, permitir una mayor cantidad de usuarios concurrentes y disminuir considerablemente el costo de almacenamiento e infraestructura.” continúa Christian.
Mejora en tiempo de respuesta de api al no obtener el binario desde la base de datos sino desde el front end.
Finalmente, se implementó el análisis de código estático, aplicando reglas estándares de programación para garantizar un código de mayor calidad y facilitar su mantenimiento.
Integración y despliegue continuos
“Actualmente, junto con las tareas de estabilización y mejora del rendimiento, estamos trabajando en la creación de pipelines de CI/CD (integración y despliegue continuo) para automatizar los procesos de distribución de releases en diferentes ambientes.” nos cuenta Lucas y continúa “Esta automatización agilizará la tarea que antes se realizaba manualmente y garantizará una mayor eficiencia y precisión en los despliegues.”
El objetivo final de modificar la arquitectura es aprovechar los servicios proporcionados por AWS para optimizar la infraestructura y adaptar automáticamente los recursos según la demanda de los usuarios en cada momento. Esto se conoce como escalabilidad horizontal, en contraposición a la escalabilidad vertical que conlleva tener capacidad ociosa cuando no hay demanda de recursos y lograr aumentar los recursos en momentos críticos, como períodos de inscripción y exámenes, y reducirlos en momentos de baja demanda, como feriados, vacaciones y horarios no hábiles.
Conclusiones
Gracias al proyecto de escalabilidad, rendimiento y estabilización de los sistemas, TECLAB experimenta una notable mejora en la estabilidad y rendimiento de sus servicios. Los estudiantes disfrutan de una experiencia de aprendizaje en línea sin interrupciones y con una plataforma ágil y eficiente.
TECLAB demuestra una vez más su compromiso con la excelencia y la mejora continua. Enfoque que les ha permitido diferenciarse con una propuesta educativa en línea confiable y de calidad.
"Es un orgullo ayudar con nuestros profesionales a instituciones prestigiosas que ponen esfuerzo en llegar con la educación de alto nivel a todos los rincones del país… las personas se superan y los lugares crecen." finaliza Christian.
Si te interesó el proyecto, y necesitás realizar algo similar para tu empresa o institución, contactanos haciendo clic acá. El café corre por nuestra cuenta ;).