En el ecosistema actual de aplicaciones en tiempo real, gestionar flujos masivos de eventos con latencia mínima y costos controlados es un desafío recurrente. Muchas organizaciones implementan arquitecturas de mensajería basadas en publicadores y suscriptores, pero cuando las reglas de filtrado deben actualizarse dinámicamente, los modelos tradicionales con políticas estáticas generan ineficiencias. El caso de Smartsheet, plataforma de gestión de trabajo colaborativo, ilustra cómo un rediseño arquitectónico basado en stream processing puede transformar radicalmente el rendimiento y el gasto operativo.
Originalmente, Smartsheet enfrentaba el problema de que sus filtros de eventos estaban definidos de forma estática mediante infraestructura como código. Cuando un usuario abría o cerraba una hoja de cálculo, el sistema necesitaba reaccionar al instante para empezar o dejar de recibir eventos de esa hoja. Sin embargo, los cambios en las políticas de filtrado de Amazon SNS podían tardar hasta quince minutos en propagarse, lo que hacía inviable el enrutamiento dinámico. La solución de fuerza bruta consistía en suscribirse a todos los eventos, almacenarlos en colas SQS y, por cada uno, consultar una base de datos para decidir si era relevante. Esto provocaba que más del 90% de los eventos se descartaran tras costosas búsquedas, generando facturas mensuales elevadas en transferencia de datos, uso de colas y lecturas de DynamoDB.
La respuesta de Smartsheet fue construir un sistema de filtrado dinámico en tiempo real sobre Amazon Managed Service for Apache Flink. En lugar de depender de políticas estáticas, movieron la lógica de filtrado al propio motor de procesamiento de flujos. Utilizando KeyedCoProcessFunction, combinaron dos fuentes: un flujo de datos con todos los eventos de hojas y un flujo de cambios de políticas desde DynamoDB Streams. Las suscripciones a hojas específicas se almacenan en estado clave con RocksDB, mientras que las suscripciones globales (escuchar todos los eventos) se manejan mediante broadcast state, replicándose a todas las tareas paralelas. Esto permitió que los cambios de política se reflejaran en menos de un segundo, eliminando la necesidad de consultas externas y reduciendo drásticamente el volumen de eventos procesados. Los resultados fueron contundentes: más de 40.000 dólares mensuales de ahorro combinando menores costos de SNS, SQS, DynamoDB y Lambda, además de una mejora del 80% en la latencia de entrega de datos de colaboración.
Este caso demuestra que la elección de la arquitectura de eventos tiene un impacto directo en la eficiencia operativa y la experiencia de usuario. Empresas que manejan grandes volúmenes de telemetría, notificaciones o datos de colaboración pueden beneficiarse de patrones similares. En Q2BSTUDIO, como empresa de desarrollo de software, ofrecemos servicios cloud AWS y Azure que permiten implementar soluciones de stream processing a medida. Nuestro equipo ayuda a diseñar aplicaciones a medida que integren inteligencia artificial para optimizar enrutamiento o agentes IA que automaticen decisiones de filtrado. Además, combinamos estas capacidades con soluciones de ciberseguridad y servicios inteligencia de negocio como Power BI para visualizar métricas de rendimiento en tiempo real. Si tu organización enfrenta desafíos similares, podemos asesorarte en la construcción de plataformas escalables y rentables.
La innovación de Smartsheet no solo redujo costos, sino que sentó las bases para una plataforma reutilizable que otros equipos internos están adoptando. La lección es clara: cuando la dinámica de los datos exige cambios inmediatos, la capa de procesamiento de flujos es el lugar adecuado para aplicar filtros, no los sistemas de mensajería previos. Con el enfoque correcto y el soporte de socios tecnológicos especializados, cualquier organización puede lograr resultados similares, optimizando sus inversiones en infraestructura y mejorando la agilidad de sus aplicaciones.





