Confluent Platform y Red Hat AMQ Streams

1 de octubre de 2023

Introducción

En Mimacom tenemos abiertos varios casos de estudio en los que hemos analizado o estamos analizando distintas opciones de plataformas Kafka o compatibles con el protocolo Kafka: Kafka opensource, Conduktor, Solace PubSub+, RedPanda, etc. (Para más información sobre este tema puedes visitar la primera parte de este artículo)

Recientemente realizamos un estudio de Confluent Platform y Red Hat AMQ Streams con el objetivo de determinar cuáles eran los puntos fuertes de cada plataforma y en qué casos sería recomendable cada opción. En ese estudio, evaluamos detalladamente cómo cada tecnología se integra y mejora casos de uso en con altos estándares de seguridad de la información. Los puntos críticos eran autenticación, autorización, cifrado, gestión de claves, etc.


Confluent Platform


Red Hat AMQ Streams


Es necesario contar con una suscripción de Red Hat que incluya Red Hat AMQ Streams. Algunas de las suites de Red Hat que lo incluyen son Red Hat Integration, Red Hat Middleware y Red Hat OpenShift Application Runtimes.


Confluent Kafka: Pros & Cons


PROS CONS
Coste operacional menor Coste de licencia
Soporte especializado Versión gratuita con restricciones Community edition
Integración con RBAC En Cloud hay algunas restricciones de seguridad respecto a la versión platform
Integración con secrets
Soporte para DR con Multi-Region clusters y Cluster Linking
Elasticidad con Self-Balancing Clusters
AuditLogs
Low code con KsqlDB y C3
Librerías aceleradoras y seguimiento del fabricante
La version Cloud está disponible en los marketplaces de Azure, GCO y AWS

Red Hat AMQ Streams: Pros & Cons


PROS CONS
Operador basado en Strimzi Mayor coste operacional
Coste de licencia en base a licenciamiento de infraestructura Soporte menos especializado en herramientas en las que no está implicado Red Hat
Basado en herramientas open source No incluye herramientas low-code
Forma parte de una suite de herramientas mayor Requiere de mayor operativa manual en operaciones de mantenimiento
Integrado con otras herramientas de OpenShift Soporte de DR y HA basado en MirrorMaker 2, requiere de un cluster dedicado de Kafka Connect
Mayor catálogo de compatibilidades y estándares de validación de esquemas basado en Apicurio.
Integración con Camel Out-of-the-box y Kamelets.
Integración con OPA como sistema de autorización e integración con autenticación SSO de RedHat



Comparativa

En la comparativa entre Confluent Platform y Red Hat AMQ Streams hemos evaluado varios aspectos importantes:

Ambas plataformas ofrecen soluciones escalables y seguras. Confluent Platform destaca por su facilidad de uso y catálogo de componentes, como replicación de datos, transformación de datos y herramientas de monitorización. Por otra parte, el modelo de licencias de Confluent Platform es flexible, con opciones gratuitas o de pago.

Por otro lado, Red Hat AMQ Streams es compatible con una amplia lista de plataformas y herramientas, lo que te puede hacer ahorrar tiempo y costes de implantación si lo comparas con Confluent Platform. Además, su licencia puede ser más económica.

En cuanto a la facilidad de instalación y soporte técnico, ambas plataformas son sencillas de instalar, siendo Confluent la que cuenta con un soporte técnico más completo.



CONCLUSIONES


Coste operacional

La implantación y la administración de Apache Kafka son tareas complejas que es probable que no sean el negocio de tu empresa. Es una necesidad dada por la tecnología. Gestionar Kafka puede parecer una buena idea al principio si quieres gobernar tu propia plataforma Kafka, pero el resultado es una gran sobrecarga operativa.

Por ejemplo: en una plataforma Kafka onpremise tienes que realizar el dimensionamiento, el provisionamiento, el escalado y el mantenimiento manual del clúster de Kafka.

Lo siguiente es el coste total del mantenimiento. Para esto debemos tener varios factores en cuenta:

Reducir los costes relacionados con riesgos p.ej: disponibilidad, degradaciones del servicio y problemas de seguridad (menos probables con un servicio totalmente administrado - serverless). Estos riesgos pueden ser difíciles de cuantificar, pero es importante que los tengas en cuenta.

En resumen, el coste operativo es probablemente el más alto cuando operas una plataforma Kafka. Pero tienes que compararlos con otros aspectos que también son importantes como el coste del gobierno de la plataforma o la experiencia previa en la gestión de una plataforma con un proveedor u otro para poder valorarlo en conjunto.

Si bien es cierto que objetivamente el coste de operación sería menor en la opción de la Confluent Platform, tienes que valorar la experiencia y la infraestructura que ya dispones en el entorno OpenShift.


Madurez de plataforma

Por plataforma Kafka, entendemos que estamos hablando de Kafka y todos los componentes proporcionados por el proveedor para facilitar el gobierno, la administración, la seguridad, etc. Sin embargo, la cohesión entre todas las partes no es la misma entre las opciones comparadas.

Confluent es la compañía que creó Kafka, pero también desarrolla multitud de componentes y herramientas. Con este conocimiento, Confluent Platform es un producto fuertemente cohesionado. Confluent Platform es elástico y fácil de operar con CFK y herramientas como Cluster Linking y Self-Balancing Cluster.

Por otro lado, AMQ Streams trae out-of-the-box todos los componentes necesarios para desplegar, administrar y comenzar a implementar todos los flujos de negocio que los equipos de desarrollo necesiten. Además, es una gran ventaja el poder integrarse con el resto de las piezas en OpenShift que ya pueden existir en la empresa: SSO, Oauth2, etc. Pero cuando se trata de Kafka como plataforma, AMQ Streams no está tan cohesionado como Confluent. Para cada necesidad que desea resolver se utilizan soluciones open source utilizando Strimzi Operator para su gobierno: Apicurio, MirrorMaker2, Debezium, etc.

Esto no es malo por sí mismo, porque ayuda a la comunidad de Kafka a avanzar. Además, Red Hat está involucrado en Strimzi y Debezium, mejorando y acelerando su progreso. Pero la principal diferencia con Confluent Platform es el sentido de la plataforma: en Confluent Platform los componentes existentes han sido desarrollados con un objetivo de plataforma con un bajo coste operativo,y por personas que pertenecen a la misma empresa. Mientras que en AMQ Streams hay una serie de componentes utilizando Strimzi como unión, y que muchas veces requiere mucha operación manual.

Resumiendo, Confluent Platform es una plataforma bien engrasada y orientada a llenar los huecos de Kafka open source. El propósito de AMQ Streams es el mismo, pero basado en componentes open source independientes que pueden ser mejorados por Red Hat Integration.



Recomendación

Después de analizar todo los aspectos de la comparativa, llegamos a la conclusión de que Confluent Platform es la mejor opción si lo que necesitas es una plataforma Kafka mejorada. En cambio, AMQ Streams de Red Hat es diferente, ya que se basa en herramientas de código abierto para administrar la plataforma. Además, AMQ Streams forma parte de una suite más grande de integración de sistemas de Red Hat.


Por lo tanto, para que puedas tomar una decisión, es importante que consideres dos cosas:




PD: Sobre Kraft

Kraft es una nueva implementación del protocolo de replicación en Kafka, que se introdujo en la versión 2.4 de Apache Kafka. El protocolo anterior de replicación, basado en ZooKeeper, tenía limitaciones significativas en términos de escalabilidad y confiabilidad en entornos de producción a gran escala. Para el contexto de este artículo, hay que tener en cuenta que no es compatible con todas las distribuciones de Kafka ya que se publicó como productión ready en Octubre 2022.

Confluent Platform es compatible con Kraft, pero no está recomendado para entornos productivos y puede haber algunas limitaciones en cuanto a la configuración avanzada de Kafka relacionada con Zookeeper. Además, hay funcionalidades que directemante no son compatibles con Kraft, como Multi-Region-Clusters.

Red Hat AMQ Streams todavía no es compatible con Kraft. Hay configuraciones avanzadas que no son compatibles con Kraft.

Sobre el autor: Jesús Rodríguez

Diseño y desarrollo de arquitecturas EDA y Event Streaming. Software Architect y Certified Confluent Trainer.

Comments
Únete a nosotros