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.