Estamos generando más telemetría de la que sabemos gestionar.
Hace no mucho, en una conversación en el máster de Smart Cities, salió un problema bastante real:
“¿Cómo gestionamos toda la telemetría que están generando estos dispositivos?”
Porque si simplemente lo subes todo al cloud, empiezas a encontrarte con los problemas de siempre: saturación de ingestión, costes que escalan sin control y, sobre todo, procesamiento de datos que muchas veces ni siquiera aporta valor.
En ese punto solté: “Para eso está el Edge.”
Y ahí es donde la conversación se puso interesante.
No giró en torno a si usar Edge o no, sino a algo mucho más importante: qué datos tiene sentido enviar, cuándo hacerlo y por qué. Y también qué lógica debe vivir en el propio dispositivo, qué ocurre cuando la conectividad falla o cómo se comporta el sistema en situaciones como un corte de red.
Ahí es donde realmente empieza el diseño.
No es meter Edge. Es decidir qué vive en el edge y por qué.
El verdadero punto de decisión en IoT
Cuando te enfrentas a una arquitectura IoT, llega un momento en el que todo pivota sobre una decisión clave: si el procesamiento ocurre cerca del dispositivo o si se centraliza en la nube.
Y aunque parece una decisión obvia en papel, en la práctica no lo es.
Porque es fácil caer en extremos. A veces se introduce Edge sin necesidad real, otras veces se envía toda la telemetría al cloud sin filtrar nada, y en muchas ocasiones la operación no se tiene en cuenta hasta que el sistema ya está en producción y empieza a doler.
Al final no va de Edge sí o no. Va de entender qué problema estás resolviendo, si es latencia, costes, conectividad o inferencia en el propio dispositivo, y qué implicaciones reales tiene cada decisión.
Lo que he intentado sistematizar
Con ese contexto he publicado una contribución en awesome-copilot centrada en mejorar cómo se diseñan soluciones IoT y Smart City en Azure cuando entra en juego el edge computing.
La idea no es añadir más servicios ni más complejidad, sino forzar que las decisiones de arquitectura tengan criterio detrás.
Para ello he trabajado en un agente especializado en arquitectura IoT para Smart Cities, una instrucción que obliga a validar documentación oficial de IoT Edge antes de recomendar su uso y varios skills pensados para escenarios reales como diseño de soluciones de ciudad inteligente, integración de dispositivos Arduino y desarrollo de módulos en Python para Edge.
También he añadido material práctico como plantillas y guías, y he reforzado el repositorio con mejoras en la estructura y en los procesos de integración continua de los módulos y generador de imagenes, asegurando que los despliegues sean consistentes y que todo el flujo de datos end-to-end mantenga coherencia en entornos reales.
Agent: Azure Smart City IoT Architect
Instructions:
- azure-iot-edge-architecture.instructions.md
Skills:
- azure-smart-city-iot-solution-builder
- python-azure-iot-edge-modules
- arduino-azure-iot-edge-integration
Qué problema intenta resolver
El problema que intenta atacar es bastante común en IoT: decidir el uso de Edge demasiado pronto o demasiado tarde, sin tener en cuenta aspectos básicos como el sistema operativo soportado, el runtime disponible, cómo se gestionan las actualizaciones en campo o quién opera realmente el sistema cuando falla.
A eso se suma algo que suele pasarse por alto: cómo se despliegan y evolucionan los módulos en entornos reales. En muchos casos no hay una estrategia clara de despliegue ni de integración continua, lo que hace que cada componente avance de forma independiente y se pierda la consistencia del sistema completo. Y en IoT eso es crítico, porque no solo importa el módulo en sí, sino que todo el flujo de datos end-to-end se mantenga coherente, trazable y operable.
Lo que busca esta contribución es reforzar una disciplina sencilla: primero entender la documentación oficial, después decidir si Edge tiene sentido o no, y a partir de ahí diseñar teniendo en cuenta desde el inicio la seguridad, la observabilidad, los costes, la operación y también cómo se van a desplegar y mantener esos módulos de forma consistente a lo largo del ciclo de vida.
En conclusión, cuando estandarizas cómo tomas estas decisiones, el sistema gana en consistencia, velocidad y sobre todo en fiabilidad, y eso es lo que he pretendido aportar.
Si estás trabajando en IoT sobre Azure, ya sea en industria, utilities o Smart Cities, me interesa especialmente cómo estáis abordando vosotros la decisión de usar Edge o no, o qué otros problemas os estáis encontrando, a ver si con las próximas subidas puedo traer alguna sorpresa relacionada con eso.
#Azure #IoT #SmartCity #AzureIoTEdge #CloudArchitecture #OpenSource #GitHubCopilot #SoftwareArchitecture #CloudArchitecture #PlatformEngineering #SolutionArchitecture
