Características de Amazon Managed Streaming para Apache Kafka

¿Por qué usar Amazon MSK?

Amazon Managed Streaming para Apache Kafka (Amazon MSK) ofrece Apache Kafka, Kafka Connect y Amazon MSK Replicator totalmente administrados. Apache Kafka es un almacén de datos distribuido optimizado para ingerir y procesar datos de streaming en tiempo real. Amazon MSK aprovisiona la infraestructura de clústeres, configura los clústeres de Apache Kafka, reemplaza los servidores cuando fallan, organiza los parches y las actualizaciones de los servidores, diseña los clústeres para lograr una alta disponibilidad, garantiza que los datos se almacenen y protejan de forma duradera, configura la supervisión y las alarmas y ejecuta el escalado para admitir los cambios de carga. Con Amazon MSK, puede dedicar más tiempo a desarrollar y ejecutar aplicaciones de eventos de streaming que a gestionar los clústeres de Apache Kafka.

Vista aérea de la carretera

Integración escalable

Amazon MSK es la red troncal de integración para aplicaciones modernas de mensajería y eventos en el centro de los servicios de captura y procesamiento de datos, así como las arquitecturas de aplicaciones de microservicios. Hay varias formas de integrarse con otros sistemas, incluida una variedad de otros servicios de AWS, lo que hace que el desarrollo de aplicaciones sea más sencillo y rápido. Puede traer su propio conector e implementarlo en una infraestructura totalmente administrada a través de Amazon MSK Connect. También puede elegir entre una lista cada vez mayor de integraciones nativas con otros servicios de AWS, como Amazon S3, Amazon Redshift, Amazon Managed Service para Apache Flink y AWS Lambda. Amazon MSK también se integra con AWS Identity and Access Management (IAM), AWS Certificate Manager (ACM) y AWS Key Management Service (AWS KMS) para proporcionar a los clientes un acceso seguro, autenticado y autorizado a sus datos. También tiene la opción de hacer cumplir la gobernanza del esquema a través del registro de esquemas de AWS Glue.

Paisaje urbano

Compatible con Apache Kafka

Amazon MSK admite todas las características de Apache Kafka de forma inmediata y hace que las versiones más recientes de Apache Kafka estén disponibles unas semanas después de su disponibilidad pública.

Amazon MSK mantiene una compatibilidad total con el protocolo de cliente de código abierto de Apache Kafka, por lo que las aplicaciones y herramientas creadas para Apache Kafka funcionan con Amazon MSK de forma inmediata, sin cambios en el código de la aplicación.

Puede actualizar las versiones de Apache Kafka en los clústeres aprovisionados con tan solo unos pocos pasos, lo que le permite decidir cuándo aprovechar las características y las correcciones de errores presentes en las nuevas versiones de Apache Kafka. Amazon MSK automatiza el despliegue de las actualizaciones de versiones en los clústeres en ejecución para mantener la disponibilidad de E/S cliente para usted.

Elija su propio tipo de clúster

Amazon MSK Provisioned proporciona un control detallado sobre su clúster de Apache Kafka. Puede elegir el tipo de intermediario, aprovisionar previamente las instancias de servidor, seleccionar el tipo de almacenamiento que desee y elegir la versión de Apache Kafka que prefiera. También puede elegir cuándo y cuánto escalar sus clústeres en respuesta a las variaciones de la carga de trabajo.

Amazon MSK Serverless administra completamente su clúster de Apache Kafka para que no tenga que estimar la capacidad que necesita para su carga de trabajo ni decidir cuándo escalarla en respuesta a los cambios en el tráfico.

Olvídese de administrar servidores

Independientemente del tipo de clúster que elija, con unos pocos pasos en la consola de administración de AWS, puede crear un clúster totalmente administrado que tenga alta disponibilidad, sea seguro y esté respaldado por los sistemas avanzados de monitoreo y detección de Amazon MSK que mantienen automáticamente el estado operativo de su clúster.

Apache Kafka utiliza Apache Kafka Raft (KRaft) o Apache ZooKeeper para la administración de metadatos. Amazon MSK permite crear clústeres en cualquier modo en las versiones compatibles de Apache Kafka. Además, Amazon MSK administra estos nodos de metadatos adicionales por usted sin costo adicional.

Múltiples tipos de agentes

Los agentes express son un tipo de corredor que se ofrece en MSK Provisioned. Los agentes express hacen que Apache Kafka sea más fácil de administrar, más rentable para ejecutarlo a escala y más elástico con la misma baja latencia que se espera. Los agentes express incluyen una capacidad de almacenamiento elástica y prácticamente ilimitada que no requiere gastos de administración, proporcionan hasta 3 veces más rendimiento por agente y pueden escalar verticalmente hasta 20 veces más rápido. También puede recuperarse hasta un 90 % más rápido que los agentes estándar de Apache Kafka en los servicios de transmisión administrados de Amazon para Apache Kafka (MSK).

Los agentes estándar de MSK Provisioned ofrecen la mayor flexibilidad para configurar el rendimiento del clúster. Puede elegir entre una amplia gama de configuraciones en el clúster para ajustar las dimensiones, incluidas la disponibilidad, la durabilidad, el rendimiento y la latencia. En los agentes estándar, usted también controla las configuraciones de almacenamiento de su clúster y es responsable de administrar el aprovisionamiento y la utilización del almacenamiento.

Opciones de almacenamiento

Los agentes express incluyen una capacidad de almacenamiento elástica y prácticamente ilimitada que no requiere dimensionamiento, aprovisionamiento ni administración continua de la capacidad. La capacidad de almacenamiento se amplía automáticamente para adaptarse a sus necesidades de retención de datos y solo paga por el almacenamiento que utiliza.

Gracias al almacenamiento por niveles, puede almacenar datos ilimitados de forma virtual en Amazon MSK sin la necesidad de aprovisionar y administrar la capacidad de almacenaje. Puede habilitar el almacenamiento por niveles en unos pocos pasos para los clústeres existentes y pagar solo por lo que usa. Primero puede almacenar datos en un nivel de almacenamiento primario con rendimiento optimizado y luego dejar que Amazon MSK los clasifique automáticamente en el nivel de bajo costo para conservarlos por más tiempo. Esta característica se admite en todas las regiones de AWS donde se encuentre disponible Amazon MSK. Para saber cómo comenzar con el almacenamiento por niveles, consulte la guía para desarrolladores de Amazon MSK.

Altamente resiliente

Todos los clústeres se distribuyen en varias zonas de disponibilidad (tres son las predeterminadas) y Amazon MSK ofrece la replicación de datos en estas zonas de disponibilidad sin costo adicional. La disponibilidad de su clúster también está respaldada por el acuerdo de nivel de servicio de Amazon MSK, que garantiza una disponibilidad superior al 99 %.

Amazon MSK cuenta con sistemas automatizados que detectan y responden rápidamente a los problemas. Si un componente falla, Amazon MSK lo sustituye automáticamente sin que sus aplicaciones queden inactivas. También implementamos parches de software de manera automática según sean necesarios para mantener su clúster actualizado y funcionando sin problemas.

Los agentes Amazon MSK Serverless y Express de MSK Provisioned aplican las configuraciones recomendadas, como la replicación en tres direcciones, y reservan ancho de banda para las operaciones en segundo plano, como la replicación y la recuperación, de modo que pueda lograr más fácilmente una disponibilidad predecible de los recursos de su clúster.

Con Amazon MSK Replicator, puede configurar la replicación continua de datos en un clúster de respaldo secundario en otra región, lo que le permite crear aplicaciones multirregionales de alta disponibilidad y tolerantes a errores para aumentar la resiliencia. También puede usar el replicador de MSK para proporcionar acceso a los datos de menor latencia en diferentes regiones geográficas o para distribuir los datos a sus socios.

Alto nivel de seguridad

Su clúster de Apache Kafka se ejecuta en una Amazon Virtual Private Cloud (Amazon VPC) administrada por Amazon MSK. Los clientes de Kafka de su propia VPC Amazon pueden acceder al clúster de forma privada a través de una interfaz de red elástica entre cuentas que Amazon MSK implementa en su VPC. Si sus clientes de Kafka están repartidos en una o más VPC o cuentas de AWS, puede seguir conectándose de forma privada a su clúster mediante la característica de conectividad privada de múltiples VPC. Esta característica elimina la sobrecarga operativa que supone la autoadministración de una solución de AWS PrivateLink y se escala sin interrupciones a medida que el clúster de Amazon MSK se escala, lo que permite mantener la conectividad privada con el clúster sin realizar cambios de configuración adicionales. La conectividad privada de múltiples VPC también elimina los desafíos de administrar las IP que no se superponen y las complejas tablas de enrutamiento y emparejamiento asociadas a otras soluciones de conectividad de VPC.  La característica de conectividad privada de varias VPC permite la superposición de IP entre las VPC conectadas.

El Control de acceso de IAM es una opción de seguridad sin costo que simplifica la autenticación del clúster y la autorización de la API de Apache Kafka por medio de roles de IAM o políticas de usuario para controlar el acceso. Con el Control de acceso de IAM, ya no es necesario crear ni ejecutar sistemas de administración de acceso único para controlar la autenticación y la autorización del cliente para Apache Kafka. Sus clústeres están protegidos mediante permisos con privilegios mínimos de manera predeterminada. Para los clústeres aprovisionados, también puede utilizar Simple Authentication and Security Layer (SASL) o Salted Challenge Response Authentication Mechanism (SCRAM), o bien, la autenticación mutua de Transport Layer Security (TLS) con listas de control de acceso (ACL) de Apache Kafka para controlar el acceso de los clientes.

Amazon MSK cifra sus datos en reposo sin necesidad de contar con configuraciones especiales ni herramientas de terceros. Para los clústeres aprovisionados, todos los datos en reposo se pueden cifrar mediante una clave de AWS KMS de manera predeterminada o con su propia clave. También puede cifrar los datos en tránsito a través de TLS entre los agentes y entre los clientes y los agentes en el clúster. Para los clústeres sin servidor, todos los datos en reposo se cifran de manera predeterminada mediante claves administradas por el servicio, y todos los datos en tránsito se cifran de manera predeterminada a través de TLS.

Amazon MSK ofrece una opción para conectarse de forma segura a los agentes de los clústeres de Amazon MSK que ejecutan Apache Kafka 2.6.0 o versiones posteriores a través de Internet. Al habilitar el acceso público, los clientes autorizados externos a una nube privada de Amazon VPC pueden transmitir datos cifrados desde y hacia clústeres de Amazon MSK específicos.

Escalable

Puede escalar sus clústeres aprovisionados por MSK añadiendo más agentes o pasando a una instancia de agente de mayor tamaño en cuestión de minutos y sin tiempo de inactividad. Del mismo modo, puede reducir la capacidad de su clúster eliminando agentes o pasando a una instancia de agente de menor tamaño.

Los clústeres de Amazon MSK Serverless ajustan automáticamente los recursos de procesamiento y almacenamiento disponibles para sus cargas de trabajo en respuesta a las necesidades de rendimiento de su aplicación.

Amazon MSK se integra a Cruise Control, una popular herramienta de código abierto para Apache Kafka que administra de manera automática la asignación de particiones en su nombre. Para los clústeres sin servidor, Amazon MSK administra de manera automática la asignación de particiones en su nombre.

Puede escalar verticalmente sin problemas la cantidad de almacenamiento aprovisionado por agente para que coincida con los cambios en los requisitos de almacenamiento mediante la consola de administración de AWS o la AWS Command Line Interface (AWS CLI). También puede crear una política de escalado automático para expandir automáticamente su almacenamiento y así cumplir los crecientes requisitos de streaming.

Configuraciones disponibles

Con Amazon MSK, puede elegir qué tan configurables desea que sean sus clústeres. Los agentes express vienen preconfigurados con las prácticas recomendadas por Amazon MSK por defecto. Esto proporciona una disponibilidad, durabilidad y rendimiento óptimos desde el primer momento. Puede personalizar determinadas configuraciones para satisfacer las necesidades específicas de su carga de trabajo. Por otro lado, los agentes estándar le brindan la flexibilidad de modificar más de 30 configuraciones de clústeres diferentes. Esto le permite adaptar la disponibilidad, el precio, el rendimiento y el comportamiento general del clúster a sus requisitos exactos. También tiene acceso al conjunto completo de configuraciones dinámicas y de nivel temático de Kafka, lo que le ayudará a perfeccionar aún más su experiencia. Para obtener más información, consulte el documento Configuraciones personalizadas de MSK.

Observable

Puede visualizar y monitorear métricas clave con CloudWatch para comprender y mantener el rendimiento de la aplicación de streaming. Hay disponible un conjunto predeterminado de más de 50 métricas sin costo adicional. También puede habilitar una supervisión mejorada a nivel de intermediario y a nivel de tema para solucionar problemas específicos. Las métricas mejoradas se facturan según las tarifas estándar de CloudWatch.

El monitoreo abierto con Prometheus le permite monitorear Amazon MSK mediante soluciones, como Datadog, Lenses, New Relic, Sumo Logic o un servidor Prometheus, y migrar de manera sencilla sus paneles de monitoreo existentes a Amazon MSK. Para obtener más información, consulte el documento Monitoreo abierto con Prometheus.

Los registros de agentes le permiten solucionar problemas de sus aplicaciones de Apache Kafka y analizar sus comunicaciones con su clúster de MSK. Puede entregar los registros del agente de Apache Kafka a uno o más de los siguientes tipos de destino: Registros de Amazon CloudWatch, Amazon Simple Storage Service (Amazon S3) y Amazon Data Firehose. También puede registrar las llamadas a la API de Amazon MSK con AWS CloudTrail.

Excelente integración

Ofrecemos una amplia variedad de integraciones de AWS en Amazon MSK. Estas integraciones incluyen lo siguiente: