CR-2025-05 · Deploy en AWS EC2
GRID-EAFIT: modelos de predicción energética, en contenedores y en AWS
- Alcance
- Backend, modelos de ML, Docker, deploy en AWS
- Periodo
- mayo de 2025
- Resultado
- Aplicación web de predicción energética en contenedores, con deploy en AWS EC2
- Estado
- Terminado
- Evidencia
- Proyecto
Resumen
En GRID-EAFIT, un proyecto académico en equipo de mayo de 2025, construí los modelos que predicen el consumo eléctrico y la producción de energía solar (fotovoltaica), y después dejé el proyecto corriendo en AWS EC2. Dentro del equipo, lo mío fue el backend, los modelos de machine learning, la configuración de Docker y el deploy en AWS.
El nombre completo dice lo que buscaba ser: microservicios de predicción energética con una arquitectura MLOps. En la práctica es un sistema web dividido en servicios, con un backend en Flask y un frontend aparte en React. El frontend llama a la API del backend desde otro origen, y el navegador bloquea ese tipo de peticiones si el servidor no las permite. Flask-CORS es lo que le deja al backend permitirlas.
Los modelos de predicción los construí con Keras sobre TensorFlow, tanto para el consumo como para la producción solar, que son los dos números que la aplicación tiene que predecir.
Como eran dos servicios con stacks distintos, usé Docker para que cada uno tuviera un entorno portable y aislado. Hay un Dockerfile para el backend, otro para el frontend, y Docker Compose levanta los dos juntos, de modo que con un solo comando arranca toda la aplicación.
Después me encargué del deploy en AWS EC2, que era la última pieza de mi parte. La documentación de deploy del proyecto describe la arquitectura: routing al servicio que corresponde, balanceo de carga entre instancias, auto-escalado cuando cambia la carga. Nada de eso corre sobre Kubernetes, que hasta ahora solo he usado en cursos.
Como construí los modelos y también hice el deploy, me tocó ver las dos puntas del mismo proyecto: el código en Keras que hace las predicciones y la configuración en EC2 donde ese código tiene que correr.
Cómo se probó
El proyecto tiene pruebas automatizadas escritas con Pytest, y el deploy en EC2 está documentado. El repositorio es público, así que cualquiera puede abrir los Dockerfiles, el archivo de Compose, las pruebas y las notas del deploy y ver cómo encaja todo.
Línea de tiempo
mayo de 2025Proyecto académico en equipo: una aplicación web que predice consumo eléctrico y producción solar
- Implementé el backend en Flask y construí los modelos con Keras y TensorFlow
- Diseñé la configuración de Docker: un Dockerfile por servicio y Docker Compose para levantarlos juntos
- Hice el deploy en AWS EC2
Stack
Flask · React · Keras · TensorFlow · Docker Compose · Pytest · AWS EC2
Enlaces
github.com/MauricioCa07/Comunidades_Energeticas_Predicciones
Siguiente revisión: Sacar a APOLO de VMware sin apagar nada Siguiente revisión: ASC26 en Wuxi: lo mío fue la infraestructura Siguiente revisión: Middleware de mensajería en C++, de la replicación a AWS