MSK vs Kinesis: cuál elegir en AWS

Clase 20 de 52Curso de Big Data en AWS

Resumen

AWS MSK ofrece Apache Kafka administrado en la nube con enfoque en Big Data. Explica cuándo conviene elegirlo frente a Kinesis Data Streams y cómo se despliega un clúster multizona con brokers y ZooKeeper para lograr alta disponibilidad y orquestación de datos. Conoce sus piezas, sus ventajas y su alcance operativo.

¿Qué es AWS MSK y por qué importa en Big Data?

AWS MSK es Apache Kafka administrado en AWS, presentado en re:Invent 2018 en Las Vegas. Su objetivo es claro: migrar Kafka on‑premise a la nube de forma transparente, manteniendo compatibilidad con el ecosistema de terceros y con el mundo open source.

  • Es Kafka administrado en AWS, con enfoque en clientes que ya usan Kafka on‑premise.
  • Entrega flexibilidad para integrarse con herramientas externas.
  • En el momento descrito, funciona con Apache Kafka 1.1.1.

La clave es su promesa: mantener la experiencia Kafka mientras se delega la infraestructura a AWS, sin perder la capacidad de integración externa.

¿Cuándo usar MSK vs Kinesis Data Streams?

La decisión se divide por integración y operación. Kinesis Data Streams es más administrado, coordinado y sincronizado con otros servicios de AWS. MSK, en cambio, ofrece mayor flexibilidad y mejor encaje con soluciones open source y de terceros, a cambio de más carga de administración.

  • Elige Kinesis cuando necesitas integración nativa y fuerte con servicios de AWS.
  • Elige MSK cuando necesitas integración con sistemas de terceros y open source.
  • Kinesis: producto más administrado y coherente con el ecosistema AWS.
  • MSK: mayor flexibilidad, pero implica operar un clúster.

En resumen operativo: con MSK administras componentes de Kafka en AWS; con Kinesis delegas más y te alineas con servicios de la plataforma.

¿Cómo se despliega la arquitectura de MSK?

MSK se despliega como un clúster de Kafka. Al crearlo, defines cuántos broker nodes usar y en qué zonas de disponibilidad ubicarlos, con la recomendación de ser multizona para alta disponibilidad. La arquitectura incorpora ZooKeeper para coordinación.

¿Qué componentes conforman el clúster?

  • Broker nodes: procesan y almacenan los datos de Kafka. Se distribuyen en múltiples zonas y subredes.
  • ZooKeeper: gestiona configuración, nombres, sincronización y rotación, además de la integración con otros servicios.
  • Por defecto, siempre habrá al menos un nodo de ZooKeeper al crear MSK.

¿Cómo fluye la información en MSK?

  • Un producer envía datos hacia el clúster de Apache Kafka.
  • El clúster orquesta y procesa la data a través de los brokers.
  • Uno o varios consumers reciben los datos procesados.

El patrón es familiar si vienes de Kinesis Data Streams: un producer, el cluster y un consumer. Cambia el servicio, pero se mantienen los roles de producción, procesamiento y consumo.

¿Qué implica el despliegue multizona?

  • Alta disponibilidad: si falla una zona, el clúster sigue activo en otras.
  • Replicación: el diseño busca resiliencia al distribuir nodos entre zonas.
  • Ubicación explícita: decides en qué zonas y subredes residirán los brokers.

En conjunto, MSK entrega Kafka con infraestructura administrada por AWS, manteniendo los conceptos nativos de Kafka: producer, consumer, brokers y ZooKeeper, más la capacidad de integrarse con open source y terceros cuando esa flexibilidad es prioritaria.

¿Tienes un caso donde dudes entre Kinesis y MSK? Cuéntalo en los comentarios y hablemos de la mejor ruta de integración y operación.