Download the free ebook on API governance in the age of AI:
Caso de éxito: Migración y optimización de plataforma IoT con AWS
Descubre cómo una importante empresa tecnológica especializada en soluciones IoT consiguió reducir costes en un 50% con FinOps y CloudAPPi
Introducción
CloudAPPi es una consultoría líder en transformación digital, con un enfoque especializado en APIs, soluciones Cloud, Inteligencia Artificial y Arquitectura. Como expertos en integraciones y migraciones a terceros, brindamos servicios especializados en la implementación de nuevas tecnologías, siguiendo una metodología 360º: desde la estrategia y el diseño hasta el desarrollo e implementación. Integramos las mejores tecnologías del mercado, convirtiéndonos en el partner tecnológico perfecto.
El caso de éxito que analizamos surge en 2023, en un momento clave para el departamento de IoT de una empresa tecnológica especializada en soluciones de conectividad. Con la previsión de incrementar de forma significativa la cantidad de dispositivos conectados en su plataforma de gestión remota de datos de contadores de agua, se abría una etapa de evolución y consolidación. En este contexto, y gracias al contacto con Amazon Web Services, CloudAPPi lideró la migración de la plataforma a AWS, incorporando además mejoras sustanciales en rendimiento, procesos y arquitectura de bases de datos.
Situación actual
En la fase previa a la colaboración con CloudAPPi, la empresa que nos ocupa se encontraba en pleno proceso de crecimiento y consolidación de su solución IoT para el sector del agua, impulsada además por la incorporación de un cliente estratégico.
La solución se basaba en clip-ons inteligentes que se colocaban en los contadores de agua, equipados con una tarjeta SIM que enviaba los datos a la plataforma IoT. Esta solución ya operaba sobre un clúster de Kubernetes, encargado de la ingesta, procesamiento y consulta de datos mediante microservicios, apoyado por un ecosistema de servicios: MongoDB para eventos, MySQL para configuración y RabbitMQ como sistema de buffer de mensajes, todos ellos desplegados en el propio cúster.
La comunicación entre los dispositivos clip-on y la plataforma IoT se realizaba mediante redes privadas virtuales (VPN) conectadas a una máquina que centralizaba el tráfico antes de enviarlo al clúster.
El incremento en el número de dispositivos y la llegada de nuevos clientes marcaron el momento oportuno en esta compañía para evolucionar hacia una infraestructura cloud que ofreciera mayor capacidad de crecimiento, resiliencia y velocidad en el procesamiento de la información.
Ante este escenario, Amazon Web Services identificó la oportunidad de fortalecer la plataforma y propuso a CloudAPPi como partner tecnológico para liderar la migración de la plataforma y acompañar a la empresa en su evolución hacia una arquitectura más escalable, segura y eficiente.
Objetivos del proyecto
Tras un análisis detallado del funcionamiento de la plataforma se definieron una serie de objetivos principales.
- Migración de la infraestructura existente al entorno cloud de AWS sin interrupciones del servicio.
- Reestructuración del entorno para garantizar estabilidad y escalabilidad.
- Optimizar la gestión de los datos, con mejoras en el rendimiento y la reducción de tiempos de respuesta.
- Uso de servicios compatibles de AWS para simplificar el mantenimiento necesario sin crear una dependencia de servicios propios de AWS. – Revisión y optimización de los flujos de procesamiento de datos y mensajes.
- Incorporar buenas prácticas de arquitectura cloud para mejorar la resiliencia del sistema.
Estrategia de migración
CloudAPPi asumió la responsabilidad completa de la migración de la plataforma IoT a Amazon Web Services (AWS), diseñando una estrategia cuidadosamente planificada para garantizar una transición segura, eficiente y sin interrupciones del servicio.
Se optó por una estrategia progresiva que equilibrara la necesidad de continuidad operativa con la migración de la plataforma. Para ello, se definió un enfoque dividido en dos etapas: inicialmente, una migración con el menor impacto posible sobre los componentes existentes (lift and reshape) y, posteriormente, una optimización técnica orientada a aprovechar al máximo las capacidades del entorno cloud de AWS (refactorización/rearquitectura).
Esta estrategia permitió abordar el proyecto desde una perspectiva de riesgo controlado, asegurando que la plataforma estuviese funcional en AWS en un corto plazo, al tiempo que se planificaban mejoras estructurales en resiliencia, escalabilidad y rendimiento del sistema.
Fase 1: Acciones realizadas
Durante esta primera fase, la prioridad principal fue llevar a cabo la migración de la plataforma IoT hacia AWS, asegurando en todo momento la continuidad del servicio y validando cada componente de la infraestructura antes de realizar el cambio definitivo al nuevo entorno.
Las acciones clave realizadas en esta fase fueron las siguientes:
-
Configuración del entorno de ejecución en AWS
- Migración de bases de datos y colas de mensajes
- Rediseño de la conectividad y red privada
- Activación de la nueva infraestructura
Se aprovisionó un clúster de Amazon EKS (Elastic Kubernetes Service), reproduciendo la arquitectura ya implementada en Kubernetes, ahora dentro de un entorno gestionado que aporta mayor resiliencia y simplifica la carga operativa.
Los pipelines de integración y despliegue continuo (CI/CD) fueron adaptados y alineados para habilitar el despliegue automatizado de los microservicios en EKS, facilitando pruebas, ajustes y posteriores releases de forma controlada.
La base de datos MySQL, que se encontraba integrada en el clúster original, fue migrada a Amazon RDS for MySQL mediante AWS DMS (Database Migration Service) en modo de replicación continua, manteniendo ambos entornos sincronizados durante el proceso de transición.
En el caso de MongoDB, por requerimientos específicos, fue desplegada inicialmente sobre una instancia Amazon EC2, garantizando compatibilidad completa con la versión en uso y minimizando el esfuerzo de adaptación. Para garantizar la sincronización de datos durante la transición, se añadió el nuevo nodo como miembro secundario del replica set existente.
El sistema de mensajería RabbitMQ fue trasladado a Amazon MQ, una alternativa gestionada y totalmente compatible, lo que permitió integrar este componente de manera nativa con AWS y potenciar su disponibilidad y mantenibilidad.
La conectividad con los dispositivos físicos desplegados en campo se mantuvo mediante una evolución de la solución VPN utilizada previamente.
Se implementaron Customer Gateways y VPN Site-to-Site gestionadas por AWS, interconectadas a través de un Transit Gateway, garantizando así una red privada con altos niveles de disponibilidad y rendimiento.
Asimismo, se configuraron Network Load Balancers (NLBs) con listeners UDP, actuando como puerta de entrada para los datos de los dispositivos IoT, respetando los protocolos ya establecidos en la arquitectura inicial.
Una vez replicados y verificados todos los componentes en AWS, se realizó la transición del tráfico productivo actualizando la configuración de los túneles VPN hacia la nueva infraestructura en AWS.
Con este paso se completó la migración: se detuvieron los procesos de replicación de bases de datos y se desactivaron los servicios de la infraestructura anterior. El sistema quedó plenamente operativo en el entorno AWS, marcando el cierre de la primera fase y dando paso a la siguiente etapa, centrada en la optimización arquitectónica.

Fase 2: Acciones realizadas
Con la plataforma ya operativa en AWS tras la migración inicial, esta segunda fase se orientó a potenciar el rendimiento general del sistema, ampliar las capacidades de observabilidad y preparar la infraestructura para un crecimiento sostenido en volumen de dispositivos y eventos IoT.
Las acciones realizadas se organizaron en tres ejes principales: gestión eficiente del dato, telemetría avanzada y evolución del desacoplamiento y procesamiento de eventos.
-
Optimización del almacenamiento y rendimiento de bases de datos
- Incorporación de telemetría y fortalecimiento de la observabilidad
- Optimización del flujo de datos IoT y desacoplamiento de procesos
Se configuró Amazon S3 como sistema de almacenamiento para datos históricos, trasladando eventos antiguos desde MongoDB. Con esta estrategia se permitió reducir significativamente el tamaño operativo de la base de datos y mejorar los tiempos de respuesta en consultas activas.
Se realizó un trabajo exhaustivo de optimización de índices tanto en MongoDB como en MySQL (RDS), identificando claves de búsqueda. Esto contribuyó a reducir la carga en operaciones frecuentes de lectura y escritura, ampliando la eficiencia del sistema.
Se integró una solución completa de observabilidad en el clúster de EKS utilizando Prometheus, Grafana, Loki, Alertmanager y Promtail. Esta integración proporcionó:
- Monitoreo de métricas en tiempo real con Prometheus, incluyendo uso de recursos por nodo y pod, así como el estado de objetos de Kubernetes mediante kube-state-metrics
- Visualización centralizada mediante Grafana, que permite analizar tanto métricas como logs a través de paneles personalizables.
- Recolección de logs desde los nodos y contenedores a través de Promtail, que los envía a Loki para su almacenamiento y análisis.
La información obtenida a través de esta telemetría permitió ajustar los recursos asignados a cada componente del clúster (CPU, memoria, etc.), logrando un uso más equilibrado y eficiente del entorno de ejecución.
Se rediseñó parte del flujo de procesamiento de eventos IoT para desacoplar la ingesta del consumo, favoreciendo una mejor gestión de los picos de tráfico. Este enfoque, apoyado en el uso optimizado de colas, alivió la carga sobre los servicios de backend y facilitó la recuperación ante situaciones de alta demanda.
Adicionalmente, se incorporó un sistema de clasificación de eventos IoT según su nivel de criticidad, permitiendo una ingesta más ordenada y controlada. Este mecanismo fortaleció la resiliencia frente a sobrecargas y amplió la capacidad de procesamiento sostenido del sistema.
Resultados obtenidos
Tras la ejecución de ambas fases del proyecto, la plataforma IoT de esta empresa tecnológica ha evolucionado de manera significativa, tanto en el plano técnico como en el operativo. Las acciones llevadas a cabo han permitido consolidar una arquitectura moderna, optimizada y preparada para los desafíos futuros, garantizando estabilidad, rendimiento y escalabilidad.
A continuación se resumen los principales resultados obtenidos:
Rendimiento y eficiencia operativa
- Incremento del rendimiento del sistema, con tiempos de respuesta optimizados en toda la cadena de procesamiento de datos IoT.
- Procesamiento más ágil y fiable de mensajes IoT, permitiendo una gestión eficiente de grandes volúmenes de eventos en tiempo real.
- Optimización del sistema de bases de datos, con consultas más rápidas y reducción de latencias gracias a la segmentación entre almacenamiento activo (MongoDB/MySQL) y almacenamiento histórico (S3).
- Reducción de costes entre un 40 y 50% gracias a la aplicación de prácticas FinOps, optimizando el uso de los recursos, eliminando gastos innecesarios y mejorando la eficiencia global de la plataforma.
Escalabilidad y arquitectura
Escalabilidad horizontal consolidada, a través del rediseño de los flujos de datos, el desacoplamiento entre servicios y el uso de colas y prioridades para la ingesta.
La plataforma se encuentra lista para escalar más allá de un millón de dispositivos conectados, manteniendo rendimiento y estabilidad.
Observabilidad y control
- Mayor observabilidad y trazabilidad, mediante la integración de Loki y Grafana, lo que permite un monitoreo avanzado del comportamiento de los servicios y facilita la detección proactiva de errores o cuellos de botella.
- Visibilidad total sobre el consumo de recursos, lo que ha permitido optimizar el uso de CPU/memoria en los pods del cluster de EKS.
Eficiencia operativa y reducción de riesgos
- Reducción del esfuerzo operativo, al migrar componentes críticos a servicios gestionados como Amazon EKS, RDS y Amazon MQ, reduciendo tareas de mantenimiento y gestión manual.
- Reducción del riesgo operativo en procesos críticos y en la incorporación de nuevos clientes o dispositivos, gracias a una infraestructura más robusta, automatizada y tolerante a fallos.
Como resultado, la empresa tecnológica ha experimentado una notable evolución en estabilidad, fiabilidad y rendimiento, consolidándose como un sistema preparado para acompañar el crecimiento continuo del negocio. La plataforma, que inicialmente gestionaba alrededor de doscientos mil dispositivos, hoy es capaz de operar con más de trescientos cincuenta mil sin inconvenientes. Además, se proyecta escalar su capacidad hasta alcanzar la gestión de un millón de dispositivos, lo que refuerza su robustez y su potencial de crecimiento en el ámbito IoT.