¿Por qué conviene ejecutar Apache Kafka en Kubernetes?

Copiar URL

La implementación de Apache Kafka en una plataforma de organización en contenedores como Kubernetes permite automatizar, ajustar e implementar las aplicaciones basadas en eventos en cualquier lugar. En resumen, Kubernetes mejora la flexibilidad propia de las aplicaciones basadas en Apache Kafka.

La TI empresarial adopta cada vez más los microservicios y los modelos de desarrollo directamente en la nube, lo cual genera sistemas distribuidos con aplicaciones basadas en eventos (EDA). En este entorno dinámico de desarrollo, muchos líderes digitales optan por utilizar Apache Kafka y combinarlo con Kubernetes.

Con Apache Kafka, los usuarios pueden ver y analizar una empresa de inmediato, y reaccionar con rapidez ante los cambios que se producen en el mercado. Además, es una excelente opción para establecer y mantener la conectividad en tiempo real con las partes interesadas internas y los partners, proveedores y clientes externos.

Kafka Streams es una función de Apache Kafka que se puede agregar a cualquier aplicación, y permite procesar los flujos de eventos de Kafka de forma sencilla y potente. Lo que realmente distingue a Apache Kafka de las demás alternativas de mensajería es la posibilidad de procesar y analizar grandes cantidades de datos sobre la marcha, de forma constante y simultánea. La plataforma permite que los usuarios agreguen, transformen, mejoren y organicen eventos para su análisis directo e inmediato, sin tener que esperar a que una máquina de big data haga los cálculos. Por eso, es fundamental para todas las aplicaciones que necesitan respuestas urgentes a los datos en tiempo real.

Apache Kafka es la base ideal para el desarrollo en la nube. Las aplicaciones propias de este entorno se basan en eventos, y esta plataforma es la herramienta ideal para gestionarlos. Permite utilizar las funciones esenciales basadas en ellos, como la transmisión distribuida, el procesamiento inmediato y un alto nivel de flexibilidad.

Con Apache Kafka, también puede acceder a la arquitectura sin servidor, la cual está un paso adelante del desarrollo en la nube y también está basada en eventos. Los desarrolladores pueden confiar en que Apache Kafka en Kubernetes brindará notificaciones adaptables sin servidor, facilitará la comunicación entre los procesos y aportará claridad sobre las funciones sin servidor.

Apache Kafka se suele implementar en el sistema de gestión de los contenedores de Kubernetes, el cual se utiliza para automatizar la implementación, la adaptación y el funcionamiento de los contenedores en los clústeres de los hosts. Apache Kafka en Kubernetes va de la mano con el desarrollo en la nube, la tecnología de vanguardia en diseño de aplicaciones. Se trata de servicios independientes, distribuidos y sin conexión directa que tienen una gran capacidad de expansión por medio de la nube. De la misma manera, las aplicaciones basadas en eventos y diseñadas a partir de Kafka no tienen conexión directa y pueden ampliarse en un entorno distribuido de nube híbrida.

Una de las principales ventajas para los equipos de operaciones que ejecutan Apache Kafka en Kubernetes es el aislamiento de la infraestructura, ya que una vez que se configura, se puede ejecutar en todas partes. Los equipos modernos suelen gestionar distintos conjuntos de recursos de nube y en las instalaciones, y Kubernetes les permite tratarlos como si fueran grupos de recursos informáticos a los que pueden asignarles los recursos de software, como Apache Kafka. Además, gracias esa misma capa de Kubernetes, se pueden gestionar todas las instancias de Apache Kafka con un solo entorno.

La capacidad de ajuste propia de Kubernetes es un complemento natural de Apache Kafka. Gracias a Kubernetes, las aplicaciones pueden ampliar o reducir la capacidad de los recursos con un comando sencillo, o bien ajustarlos de forma automática en función del uso, para aprovechar los recursos informáticos, de almacenamiento y de redes de la forma más rentable. También brinda portabilidad a Apache Kafka para que se pueda extender de forma local y en todas las nubes públicas, privadas o híbridas, y para que utilice diferentes sistemas operativos.

Recursos de Red Hat

El uso manual de Apache Kafka es una tarea compleja que requiere la configuración detallada de varios elementos, pero también es sumamente difícil ejecutarla en un equipo con servidores dedicados (bare metal) o en una máquina virtual, así como implementar, supervisar, actualizar y restaurar los nodos.

Aquí es donde entra en juego el proyecto open source de Strimzi para eliminar toda esta complejidad. Strimzi utiliza operadores para implementar las configuraciones de Apache Kafka de forma rápida y sencilla. Los operadores son una herramienta de última generación para implementar y gestionar las aplicaciones en Kubernetes, dado que aíslan la infraestructura, aportan flexibilidad al desarrollo y permiten implementar las aplicaciones sin tener mucha información sobre la infraestructura. Los desarrolladores no necesitan conocer los tecnicismos (p. ej., la cantidad de máquinas o el tipo de hardware que se utiliza), ya que los operadores implementan la infraestructura y gestionan todos los detalles de manera automática.

Strimzi ofrece las ventajas de la infraestructura como código (IaC): el desarrollador puede escribir un manual de instrucciones como código para definir la infraestructura, y Strimzi se encarga de ejecutarlas a la perfección. Incluso puede simplificar la difícil tarea de implementar Apache Kafka en los modos de alta disponibilidad.

Otra razón importante para ejecutar Strimzi es que aborda muchos de los problemas de seguridad de Apache Kafka. También automatiza la seguridad de Apache Kafka en Kubernetes por medio de la función Single Sign-On (SSO), el cifrado y la autenticación, para que el desarrollador no pierda tiempo con las funciones básicas de seguridad.

Streams for Apache Kafka forma parte de Red Hat Integration y es una distribución empresarial de Apache Kafka y el proyecto Strimzi de Red Hat. Gran parte del valor adicional que Apache Kafka aporta a la plataforma se basa en el uso de Apache Kafka en Kubernetes, o en Red Hat OpenShift (la distribución de Kubernetes de Red Hat).

Streams for Apache Kafka en OpenShift ofrece Apache Kafka en Kubernetes para habilitar las arquitecturas de nivel empresarial y basadas en eventos que respaldan los flujos de datos distribuidos y las aplicaciones basadas en microservicios de procesamiento de flujos. Además, resulta apropiada especialmente para los casos de gran magnitud y alto rendimiento, ya que la división propia de Apache Kafka permite abordar los requisitos de expansión.

Hub

Blogs de Red Hat

Aquí encuentras la información más reciente sobre nuestros clientes, partners y comunidades open source.

Todas las versiones de prueba de los productos de Red Hat

Con las versiones de prueba gratuitas de nuestros productos, podrás adquirir experiencia práctica, prepararte para obtener una certificación o evaluar las soluciones para saber si son adecuadas para tu empresa.

Más información

¿Qué es Podman Desktop?

Se trata de una herramienta open source gratuita que simplifica el uso de contenedores en un entorno de desarrollo local.

Los remplazos de CentOS

Las distribuciones de Linux que poseen más características similares en relación con CentOS Linux facilitarán la transición antes de que llegue al final de su vida útil (EOL) el 30 de junio de 2024.

¿Qué es CentOS?

CentOS es un proyecto open source que ofrece dos distribuciones de Linux® diferentes: CentOS Stream y CentOS Linux.

Open source: lecturas recomendadas

Producto destacado

  • Red Hat OpenShift

    Una plataforma de desarrollo de aplicaciones unificada que te permite crear, modernizar e implementar aplicaciones a escala en la infraestructura de nube híbrida que elijas.

Artículos relacionados