Streaming de datos en tiempo real - Procesamiento inmediato de datos hecho realidad con Amazon Kinesis

Explica patrones de diseño de pipelines de datos en tiempo real que combinan Kinesis Data Streams y Data Firehose. Presenta el diseño de shards, el almacenamiento en búfer, la transformación con Lambda y la entrega a S3 / Redshift / OpenSearch.

La importancia del streaming de datos en tiempo real

En las empresas actuales se generan grandes volúmenes de datos en tiempo real, como los datos de sensores de dispositivos IoT, los clickstreams de aplicaciones web y los registros de transacciones financieras. Al procesar / analizar estos datos de inmediato, se puede crear valor como la detección de anomalías, los paneles en tiempo real y las recomendaciones personalizadas, entre otros. Amazon Kinesis es un servicio totalmente administrado que recopila / procesa / analiza datos de streaming en tiempo real. Para construir una plataforma de streaming equivalente on-premises, lo habitual es operar un clúster de Apache Kafka, pero esto conlleva tareas operativas como la administración de los brokers y el rebalanceo de las particiones. Como Kinesis asume ese trabajo operativo en el lado del servicio, resulta más fácil concentrarse en la lógica de negocio del streaming de datos.

Composición de la familia Kinesis

Los principales servicios de streaming relacionados con Amazon Kinesis son los 4 siguientes, y los que llevan actualmente el nombre Kinesis son Data Streams y Video Streams. Kinesis Data Streams es la base para el procesamiento en tiempo real mediante aplicaciones personalizadas y controla el rendimiento por unidades de shard. Amazon Data Firehose (antes Kinesis Data Firehose) es un servicio de entrega que envía automáticamente datos de streaming a destinos como S3, Redshift y OpenSearch. Amazon Managed Service for Apache Flink (antes Kinesis Data Analytics) analiza datos de streaming en tiempo real con Apache Flink (la versión de aplicaciones SQL se retiró en enero de 2026). Kinesis Video Streams está especializado en la ingesta y el procesamiento de streams de vídeo. Ejemplo de creación de un stream bajo demanda de Kinesis Data Streams con la CLI: el stream se crea con aws kinesis create-stream --stream-name click-stream --stream-mode-details StreamMode=ON_DEMAND. A continuación se configura el mapeo de origen de eventos de Lambda: aws lambda create-event-source-mapping --function-name process-clicks --event-source-arn arn:aws:kinesis:ap-northeast-1:123456789012:stream/click-stream --starting-position LATEST --batch-size 100 --parallelization-factor 2 habilita el procesamiento en paralelo.

Procesamiento serverless de streams mediante la integración con Lambda

La integración de Kinesis Data Streams y Lambda es un patrón representativo del procesamiento de datos serverless en tiempo real. Lambda sondea automáticamente los registros de los shards de Kinesis e invoca por lotes la función de procesamiento. Con Enhanced Fan-Out se garantiza un rendimiento dedicado para cada consumidor (2 MB/s por shard), y varios consumidores pueden procesar en paralelo sin afectarse entre sí. El mapeo de origen de eventos de Lambda permite controlar con detalle el tamaño del lote, la ventana del lote, el factor de paralelización y otros parámetros, y permite optimizar la latencia y el rendimiento del procesamiento. También se ofrecen de forma estándar funciones de gestión de errores como los reintentos cuando se produce un error, el reenvío a una cola de mensajes fallidos y la división de lotes mediante bisección (bisect). Con Kafka on-premises + aplicaciones consumidoras, es necesario implementar estas funciones por cuenta propia, lo que aumenta la carga de desarrollo y operación.

Escalabilidad y eficiencia de costes

Kinesis Data Streams escala por unidades de shard, y cada shard ofrece un rendimiento de 1 MB/s de escritura y 2 MB/s de lectura. En el modo bajo demanda, el número de shards se ajusta automáticamente según el tráfico. Amazon Data Firehose es de pago por uso. No hay tarifas mínimas ni costes de configuración. La compresión y la transformación de datos se pueden ejecutar dentro de Firehose. El periodo de retención de datos es de 24 horas de forma predeterminada y se puede ampliar hasta un máximo de 365 días, lo que también permite casos de uso de reprocesamiento y reproducción.

Casos de uso representativos y criterios de aplicación

El streaming en tiempo real aporta valor en situaciones en las que es necesario procesar / tomar decisiones sobre los datos en un momento cercano al instante en que se generan. Algunos ejemplos típicos son la monitorización en tiempo real que visualiza de inmediato el estado del acceso y del sistema, los mecanismos que detectan transacciones fraudulentas en el momento y las recomendaciones que responden de inmediato al comportamiento de los usuarios. En cambio, para la elaboración de informes diarios o para procesos en los que basta con agregar los datos en bloque, el procesamiento por lotes es más sencillo y económico. La inmediatez requerida se convierte en el criterio para decidir si se debe usar streaming. Determinar si el tiempo real es realmente necesario y aplicar streaming solo a las partes que lo necesitan conduce a un diseño que evita la complejidad excesiva.

Resumen - Elegir una plataforma de streaming en tiempo real

Como plataforma totalmente administrada para el streaming de datos en tiempo real, Amazon Kinesis puede abarcar desde la recopilación hasta el procesamiento, el análisis y la entrega. Gracias al escalado automático del modo bajo demanda y al pago por uso, puede dar soporte desde pequeñas PoC hasta grandes cargas de trabajo de producción. Para las organizaciones que estudian construir una plataforma de procesamiento de datos en tiempo real, Kinesis es uno de los candidatos.

Referencias (recursos oficiales de AWS)

Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.

Si esta página y la documentación oficial difieren, prevalece la documentación oficial.

Compartir