Blog de Amazon Web Services (AWS)
CÓMO UNICFC REDUJO COSTOS Y MEJORÓ EL RENDIMIENTO DE SUS PRODUCTOS
Por Francieli Librelotto, Directora General de UNICFC y Abogada,
Sirleno Vidaletti, Fundador de GMV Consulting y Consultant en UNICFC,
Rodrigo Fernandes, Account Manager en Amazon Web Services e
Michelle Perez, Arquitecta de Soluciones en Amazon Web Services
Presentación
UNICFC es una empresa de tecnología enfocada en el desarrollo de sistemas para la capacitación de conductores, que atiende principalmente a los Centros de Capacitación de Conductores (CFC) en todo Brasil.
El objetivo central de la empresa es la prestación de servicios tecnológicos para todas las necesidades de los CFC, confiando actualmente en los productos de las clases prácticas de Monitoreo (www.unicfcmonitoramento.com.br), Plataforma ODL y Clases Remotas (www.unicfcead.com.br)) y editor de libros para la primera calificación. Para ofrecer casi todos los productos, UNICFC se somete a acreditaciones y aprobaciones con los Departamentos Estatales de Tráfico (DeTrans), así como con la Secretaría Nacional de Tráfico (SENATRAN).
Desde la creación de la empresa, UNICFC confió en AWS para ofrecer un servicio de calidad y excelencia, con el objetivo de ofrecer disponibilidad y un servicio integral.
En dos años, UNICFC supervisó más de 01 (un) millones de clases prácticas de primera calificación y permitió que más de 130.000 clases teóricas se llevaran a cabo de forma remota.
En 2022, la atención se centrará en expandir sus operaciones a dos nuevos productos, expandir su público objetivo potencial y diversificar su forma de acción.
Contexto
En 2020, con la pandemia, tras la regulación de CONTRAN, UNICFC creó el producto Aula Virtual, que se expandió rápidamente a tres estados y requería una escalabilidad mucho mayor de la que se configuraba la infraestructura en ese momento, debido a los accesos simultáneos necesarios para el uso del sistema. Además, en agosto de ese año, la empresa se vio insertada en un contexto de ataques como una acción anticompetitiva, que intensificó las inversiones en seguridad y control de vulnerabilidades.
Retos
Las principales aplicaciones de UNICFC se desarrollaron siguiendo un modelado de arquitectura monolítica, que es un sistema único, que se ejecuta en un solo proceso, y no se divide en módulos o microservicios. Se trata básicamente de una aplicación en la que diferentes componentes están vinculados a un solo programa dentro de la misma plataforma. A medida que la aplicación crecía, el código se hacía cada vez más complejo y aumentaba el desafío de hacer cambios rápidos y generar lanzamientos.
Las principales aplicaciones de UNICFC reciben aproximadamente 3 mil sesiones simultáneas en horas punta. Además del elevado número de accesos en determinados momentos, las aplicaciones gestionan vídeos e imágenes de las clases teóricas y prácticas de los CFC, añadiendo aproximadamente el volumen de 140 TB que se almacenan en el servicio Amazon S3, que es un servicio de almacenamiento de objetos que ofrece escalabilidad, disponibilidad de datos, seguridad y rendimiento.
La siguiente figura muestra la arquitectura con los principales componentes de la infraestructura de AWS. El servicio es un servicio de (CDN) creado para ofrecer un alto rendimiento, seguridad y comodidad para los desarrolladores. AWS Auto Scaling, un servicio que monitorea las aplicaciones y ajusta automáticamente la capacidad para mantener un rendimiento constante y predecible al menor coste posible, que se ha configurado con reglas basadas en el consumo de tiempo y recursos (CPU y memoria).
Uno de los principales desafíos de una arquitectura como esta es el tiempo necesario para escalar la infraestructura, implementar y agregar los servidores al equilibrador de carga. Para poder satisfacer la demanda requerida, era necesario escalar más servidores para que la aplicación no tuviera recursos sobrecargados, sin embargo, con esto, los costos con cada vez más.
Solución
Con el aumento de la base de clientes y, en consecuencia, del número de usuarios conectados, fue necesario comenzar a trabajar para modificar la arquitectura de las aplicaciones, de modo que fuera posible escalar el entorno de una manera más ágil y también reducir los costos con infraestructura ciertos tiempos están por encima de lo necesario. Como se necesitaba una solución más rápida, al principio los servicios más solicitados y críticos se migraron a microservicios alojados en una arquitectura sin servidor, mediante el servicio .
De esta manera, se alivió gran parte del procesamiento realizado en los servidores de Amazon EC2.
Además, a medida que los procesos se separaban en procedimientos más pequeños, la implementación, el control de errores y la escalabilidad se hicieron más ágiles, mientras que los costos de ejecución disminuyeron. Otra ventaja de este enfoque fue la elección de otros lenguajes para el desarrollo de los servicios, ya que estaban desacoplados de la aplicación principal.
Después de implementar los servicios principales mediante una arquitectura sin servidor, se comenzó a trabajar para migrar los servicios y las aplicaciones al servicioAdemás, se crearon flujos de CI/CD para garantizar la integridad de los procesos de creación, integración e implementación. La siguiente figura muestra la arquitectura para administrar y ejecutar aplicaciones y servicios en contenedores, que se ejecutan en servicios gestionados que le permite ejecutar y escalar aplicaciones de Kubernetes: Amazon EKS.
La tecnología de contenedores aportó muchos beneficios en este caso de uso y, combinada con el uso de un servicio gestionado como Amazon EKS, las principales ventajas fueron:
- Mejora de la disponibilidad con la independencia de los servidores y la descentralización de la aplicación.
- Optimización de procesos: la atención se centra únicamente en las aplicaciones;
- Reducción de costos: la tecnología de contenedores permitió mantener una infraestructura más optimizada.
Resultados
- Costos
Con el uso de los servicios de AWS Lambda y Amazon EKS, se logró una reducción considerable de los costos. Hasta ahora, se ha producido una reducción del 30% en el coste total con AWS. Tras la finalización de la migración a la arquitectura de contenedores mediante EKS, se estima una reducción del 40%.
- Disponibilidad
Uno de los mayores desafíos fue mantener la disponibilidad de los sistemas cerca del 100%, en vista de la criticidad de los eventos lentos o las interrupciones del servicio. Una vez aplicadas las mejoras, el porcentaje de disponibilidad mensual es del 99,995%
- Rendimiento
Con la nueva arquitectura, los tiempos de respuesta de las aplicaciones mejoraron considerablemente. Además de un mejor tiempo de respuesta, se observa coherencia en los tiempos de respuesta de las páginas y los servicios. La mejora observada en los tiempos de respuesta es del 75% en comparación con la arquitectura anterior de las aplicaciones.
Este artículo fue traducido automáticamente del Blog de AWS en Portugués.
Sobre os autores
Francieli Librelotto Directora General de UNICFC y Abogada. Auditora principal de ISO 27001. Socia fundadora de la empresa, responsable de la creación de nuevos productos.
Sirleno Vidaletti Fundador de GMV Consulting y Consultant en UNICFC. Máster en Ciencias de la Computación de la PUCRS y MBA en Gestión Estratégica de TI de FGV
Rodrigo Fernandes Account Manager en Amazon Web Services.
Michelle Perez Arquitecta de Soluciones en Amazon Web Services.
Sobre el revisor
Fredy Reinaldo Acosta Pena Arquitecto de Soluciones en Amazon Web Services