Event streaming con Amazon MSK Serverless - Construcción de un entorno Kafka sin operaciones

Explicación de la construcción de un entorno Kafka sin operaciones con MSK Serverless. Se presenta la autenticación IAM, el control de acceso y la integración con EventBridge Pipes.

Características de MSK Serverless

MSK Serverless es un entorno Kafka donde el aprovisionamiento, escalado y aplicación de parches del clúster son completamente innecesarios. Al crear un clúster, se proporciona inmediatamente un endpoint desde el cual los clientes Kafka pueden comenzar a crear topics y enviar/recibir datos. No es necesario especificar el tipo de instancia ni el número de nodos del broker, y el throughput escala automáticamente hasta 200 MB/s por partición. Es ideal para equipos que desean comenzar rápidamente sin diseño de clústeres provisionados o para cargas de trabajo con tráfico variable.

Autenticación IAM y control de acceso

MSK Serverless utiliza autenticación IAM como estándar. Los clientes Kafka se conectan a MSK con credenciales AWS (roles IAM) y se configura el control de acceso a nivel de topic mediante políticas IAM. Es posible un control granular que permite solo lectura/escritura en topics específicos para roles IAM específicos. A diferencia de la autenticación SASL/SCRAM utilizada en clústeres provisionados, no es necesario gestionar nombres de usuario y contraseñas, y se puede utilizar el modelo de permisos IAM existente de AWS tal cual.

Integración con EventBridge Pipes

EventBridge Pipes es un servicio que conecta directamente topics de MSK como fuente a destinos como Lambda, Step Functions, SQS y Kinesis Data Streams. Anteriormente era necesario desarrollar y operar aplicaciones consumidoras de Kafka por cuenta propia, pero con Pipes se elimina la necesidad de escribir código de consumidor. Las funciones de filtrado y transformación permiten procesar solo los eventos necesarios y convertir el formato de datos antes de enviarlos al destino. Por ejemplo, se puede configurar un patrón donde los eventos de un topic de MSK se filtran por EventBridge Pipes y solo los eventos que cumplen condiciones específicas se envían a una función Lambda para su procesamiento. Esto reduce significativamente el código de integración entre MSK y otros servicios AWS. Para aprender sobre arquitecturas de event streaming, libros relacionados (Amazon) también son útiles como referencia.

Precios de MSK Serverless

Los precios de MSK Serverless se componen de hora de clúster, hora de partición, almacenamiento y transferencia de datos. El clúster cuesta aproximadamente 0.75 dólares por hora, y las particiones aproximadamente 0.0015 dólares por hora de partición. El almacenamiento es de aproximadamente 0.10 dólares por GB/mes, y la transferencia de datos es gratuita para la recepción dentro de la misma región, aplicándose las tarifas estándar de transferencia para el envío. En comparación con clústeres provisionados (kafka.m5.large x3 = aproximadamente 453 dólares/mes), Serverless puede ser más económico para cargas de trabajo con bajo volumen de tráfico, pero para tráfico constante y alto, los clústeres provisionados ofrecen mejor relación costo-rendimiento.

Resumen

MSK Serverless es un servicio que elimina completamente la gestión operativa de Kafka, permitiendo concentrarse en la construcción de event streaming. La autenticación IAM simplifica la gestión de credenciales, y EventBridge Pipes reduce el desarrollo de consumidores. Mantiene la compatibilidad con el ecosistema Kafka mientras logra la eficiencia operativa de serverless.