AWS Kinesis

Kinesis es una alternativa administrada a Apache Kafka. Algunas de sus características principales son:

  • Los datos se replican automáticamente en 3 AZ
  • Ideal para logs de aplicaciones, métricas, IoT, clickstreams
  • Ideal para big data en tiempo real
  • Ideal para frameworks de procesamiento de streaming (Spark, …)
  • Hay 3 servicios incluidos en Kinesis:
    • Kinesis Streams: ingesta de streaming a escala con baja latencia
    • Kinesis Analytics: analítica en tiempo real de streams utilizando SQL
    • Kinesis Firehose: carga de streams en S3, Redshift, ElasticSearch, …

Kinesis Streams

  • Los streams se dividen en Shards/Partitions, que son definidos al crear el servicio, y se facturan:
    • Al escribir: 1MB/s o 1000 mensajes por segundo por Shard
    • Al leer: 2MB/s por Shard
    • El número de Shards puede ser modificado
    • Se mantiene el orden de mensajes en cada Shard
  • La retención de datos pude ser de 1 día (por defecto) hasta 7 días
  • Se puede reprocesar/repetir datos
  • Múltiples aplicaciones pueden consumir el mismo stream
  • Procesamiento en tiempo real
  • Cuando los datos se insertan en Kinesis, ya no pueden ser borrados (immutability)
  • Se pueden realizar operaciones por lotes, o por mensaje
  • Partition Key: es la clave que identifica al Shard donde se escribe. Puede ser un ID de usuario o un valor que esté bien distribuido para que no todas las escrituras vayan al mismo shard.

Kinesis Analytics

  • Análisis en tiempo real utilizando sentencias SQL
  • Autoescalado, gestionado y en tiempo real
  • Se paga por el ratio de consumo
  • Puede generar nuevos streams con el resultado de las queries

Kinesis Firehose

  • Totalmente gestionado por AWS, no necesita administración
  • Escalado automático, y completamente serverless
  • Se puede cargar datos en Redshift, Amazon S3, ElasticSearch y Splunk
  • Casi en tiempo real, hay una latencia mínima de 60 segundos para tareas que no se procesan por lotes, y un mínimo de 32MB de datos cada operación
  • Soporte muchos tipos de formatos, conversiones, transformaciones, compresión, …
  • Se paga solamente por los datos transferidos a través de Firehose

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.