Amazon Managed Service for Apache Flink

Servicio que ejecuta Apache Flink de forma completamente administrada, procesando datos de streaming en tiempo real desde Kinesis Data Streams o MSK con baja latencia

Descripción general

Amazon Managed Service for Apache Flink es un servicio completamente administrado que ejecuta aplicaciones Apache Flink para procesamiento de datos de streaming en tiempo real. Proporciona la infraestructura subyacente para las aplicaciones Flink, permitiendo enfocarse en la lógica de procesamiento. Se integra nativamente con Kinesis Data Streams y Amazon MSK como fuentes de datos, y puede escribir resultados en S3, OpenSearch, DynamoDB y otros destinos. Soporta tanto la API DataStream de Java/Scala como SQL para definir la lógica de procesamiento.

Despliegue y escalado de aplicaciones Flink

AWS anunció en agosto de 2023 que cambió el nombre de Amazon Kinesis Data Analytics a Amazon Managed Service for Apache Flink. Las aplicaciones Flink se empaquetan como archivos JAR (Java/Scala) o se definen mediante notebooks SQL interactivos (Apache Zeppelin integrado). El despliegue consiste en subir el JAR a S3 y configurar la aplicación con los parámetros de runtime (paralelismo, fuentes, destinos). El escalado se controla mediante el paralelismo de la aplicación, que determina cuántas tareas paralelas procesan los datos. El escalado automático ajusta el paralelismo según la utilización de CPU de la aplicación, y mientras se actualiza el paralelismo la aplicación se detiene. Los Kinesis Processing Units (KPU) son la unidad de capacidad, y según la guía para desarrolladores cada KPU proporciona 1 vCPU y 4 GB de memoria (a octubre de 2026).

Checkpointing y gestión de estado

Apache Flink mantiene estado en memoria para operaciones como ventanas temporales, agregaciones y joins. Los checkpoints persisten periódicamente este estado en almacenamiento duradero (S3), permitiendo la recuperación ante fallos. Managed Flink configura checkpointing automáticamente con intervalos predeterminados, aunque se pueden ajustar según los requisitos de latencia y consistencia. Los savepoints son snapshots manuales del estado completo de la aplicación, útiles para actualizaciones de código, cambios de paralelismo o migración entre versiones. La semántica exactly-once se obtiene cuando la aplicación usa fuentes, operadores y destinos compatibles con ella, algo relevante para aplicaciones financieras o de facturación. El backend de estado RocksDB permite manejar estados que exceden la memoria disponible, almacenando datos en disco local con acceso eficiente.

Integración de fuentes y destinos con Kinesis y MSK

Como fuente, Managed Flink consume registros de Kinesis Data Streams o temas de MSK (Kafka) con gestión automática de offsets y recuperación ante fallos. Los conectores nativos manejan la deserialización de formatos comunes (JSON, Avro, Protobuf) y el descubrimiento dinámico de nuevos shards o particiones. Como destinos (sinks), los conectores de Apache Flink permiten escribir, por ejemplo, en S3, DynamoDB y Kinesis Data Streams para encadenar pipelines. La API Table/SQL de Flink permite definir pipelines de procesamiento completos en SQL, reduciendo la barrera de entrada para analistas de datos. Las funciones de ventana (tumbling, sliding, session) permiten agregaciones temporales como "promedio de temperatura por sensor en ventanas de 5 minutos".

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