Jump to section

¿Qué es Apache Kafka?

Copiar URL

Apache Kafka es una plataforma distribuida de transmisión de datos que permite publicar, almacenar y procesar flujos de registros, así como suscribirse a ellos, de forma inmediata. Está diseñada para administrar los flujos de datos de varias fuentes y distribuirlos a diversos usuarios. En pocas palabras, transfiere cantidades enormes de datos, no solo desde el punto A hasta el B, sino también del punto A al Z y a cualquier otro lugar que necesite, y todo al mismo tiempo.

Apache Kafka es la alternativa a un sistema de mensajería tradicional para empresas. Comenzó como un sistema interno que LinkedIn desarrolló para gestionar 1,4 billones de mensajes por día. Ahora, es una solución open source de transmisión de datos que permite satisfacer diversas necesidades empresariales.

Los microservicios han cambiado el panorama del desarrollo, ya que al reducir las dependencias, como los niveles de bases de datos compartidas, los desarrolladores obtienen mayor agilidad. No obstante, las aplicaciones distribuidas que diseñan sus desarrolladores aún necesitan algún tipo de integración para compartir los datos. Una opción popular, conocida como el método sincrónico, utiliza interfaces de programación de aplicaciones (API) para compartir datos entre los diferentes usuarios.

Otra alternativa, el método asíncrono, implica replicar los datos en un almacén intermedio. Aquí es donde Apache Kafka entra en acción, ya que transmite los datos de otros equipos de desarrollo para rellenar el almacén de datos, de modo que estos puedan compartirse entre varios equipos y sus aplicaciones.

Los equipos de microservicios tienen requisitos de integración distintos de los equipos tradicionales de desarrollo en cascada. Requieren tres características fundamentales:

  1. Integraciones distribuidas: integraciones ligeras basadas en patrones que se puedan implementar de forma constante donde sea necesario y que no estén limitadas por las implementaciones centralizadas del tipo ESB.
  2. API: servicios basados en las API para promover un ecosistema de partners, clientes y desarrolladores que puedan ofrecer un uso confiable y rentable de los servicios.
  3. Contenedores: plataforma diseñada para desarrollar, gestionar y ajustar aplicaciones conectadas y creadas en la nube. Los contenedores permiten el desarrollo de artefactos eficaces que se pueden implementar de manera individual, que forman parte de los procesos de DevOps y que son compatibles con la agrupación en clústeres lista para usar, lo que garantiza su alta disponibilidad.

Red Hat denomina a este enfoque "integración ágil", el cual proporciona mayor agilidad y soluciones adaptables gracias a que permite que las integraciones formen parte de los procesos de desarrollo de las aplicaciones. Parte de la integración ágil es la libertad de utilizar la alternativa sincrónica o asíncrona, según las necesidades específicas de la aplicación. Apache Kafka es una excelente opción cuando se utiliza la integración asíncrona basada en eventos para aumentar el uso de la integración sincrónica y las API, lo cual respalda los microservicios y favorece la integración ágil. De esta manera, Apache Kafka puede ser un elemento importante de su iniciativa para optimizar el proceso de desarrollo, impulsar la innovación, ahorrar tiempo y, en última instancia, agilizar la comercialización de sus funciones, aplicaciones y servicios nuevos.

Apache Kafka está integrada tanto en los canales de transmisión que comparten datos entre los sistemas o las aplicaciones, como también en los sistemas y las aplicaciones que usan esos datos. La plataforma admite varios casos prácticos donde la alta productividad y capacidad de ajuste son fundamentales. Dado que Apache Kafka disminuye la necesidad de contar con integraciones de punto a punto para el intercambio de datos en ciertas aplicaciones, puede reducir la latencia a milisegundos. Gracias a esto, los usuarios obtienen los datos en menos tiempo, lo cual puede ser una ventaja en los casos prácticos que requieren la disponibilidad inmediata de la información, como las operaciones de TI y el comercio electrónico.

Apache Kafka puede gestionar millones de datos por segundo, así que es ideal para los desafíos del big data. Sin embargo, también es útil para las empresas que no necesitan manejar tantos datos en la actualidad. En muchos casos prácticos de procesamiento de datos, como el Internet de las cosas (IoT) y las redes sociales, los datos aumentan de manera exponencial y pueden sobrecargar rápidamente una aplicación diseñada en función del volumen de datos actual. En lo que respecta al procesamiento de datos, es necesario tener en cuenta la capacidad de ajuste, lo cual implica estar preparado para afrontar cantidades de datos cada vez mayores.

 

Operaciones de TI

Las operaciones de TI se basan en los datos, ya que necesitan poder acceder a ellos de forma rápida. Es la única forma de mantener el funcionamiento de los sitios web, las aplicaciones y los sistemas en todo momento. Apache Kafka es una buena opción para las funciones de las operaciones de TI que se basan en la recopilación de datos de varias fuentes, como la supervisión, las alertas y los informes; en la gestión de registros; y en el seguimiento de la actividad de sitios web.

Internet de las cosas

Según Gartner, se espera que el IoT incluya más de 20 000 millones de dispositivos para el año 2020. El valor de esta tecnología radica en los datos procesables que genera esta gran cantidad de sensores. Apache Kafka está diseñada para ofrecer la capacidad de ajuste necesaria para hacer frente a la enorme cantidad de datos que se espera del IoT.

Comercio electrónico

Apache Kafka es una solución cada vez más adecuada para el comercio electrónico, ya que puede procesar datos como la cantidad de clics, los "Me gusta", las búsquedas, los pedidos, los carritos de compras y los inventarios de las páginas.

Kubernetes es la plataforma ideal para Apache Kafka. Los desarrolladores necesitan una plataforma que pueda ajustarse para alojar las aplicaciones de Kafka, y Kubernetes es la solución.

Ambas agilizan el proceso de desarrollo. Kubernetes, la tecnología de los servicios de nube de Google, es un sistema open source diseñado para gestionar las aplicaciones en contenedores y eliminar muchos de los procesos manuales relacionados con ellos. Se puede optimizar la implementación, la configuración, la gestión y el uso de Apache Kafka si se implementa en Kubernetes.

Si combina ambas tecnologías, obtendrá todos los beneficios de Kafka y las ventajas de Kubernetes: capacidad de ajuste, alta disponibilidad, portabilidad e implementación sencilla.

La capacidad de ajuste de Kubernetes es un complemento natural de Kafka. En Kubernetes, puede ampliar o reducir los recursos con un comando sencillo, o bien ajustarlos de forma automática según sea necesario en función del uso, para aprovechar al máximo la infraestructura informática, de redes y de almacenamiento. Esto permite que Apache Kafka pueda compartir un conjunto limitado de recursos con otras aplicaciones. Kubernetes también ofrece la portabilidad de Apache Kafka en todos los proveedores de infraestructura y los sistemas operativos. Con Kubernetes, los clústeres de Apache Kafka pueden extenderse de forma local y en todas las nubes públicas, privadas o híbridas y utilizar diferentes sistemas operativos.

Pruebe Kafka sin costo

Acceda a Red Hat OpenShift Streams for Apache Kafka, un servicio totalmente gestionado y alojado de Kafka para las aplicaciones de flujos de datos.

Keep reading

Artículo

¿Qué es la integración?

¿Desea saber qué es la integración? Obtenga información acerca de qué es, cómo incorporarla y por qué es mucho mejor con un enfoque open source.

Artículo

¿Qué es Apache Kafka?

Apache Kafka es una plataforma distribuida de transmisión de datos que permite publicar, almacenar y procesar flujos de registros, así como suscribirse a ellos, de forma inmediata.

Artículo

¿Qué es una API?

Una API o interfaz de programación de aplicaciones es un conjunto de definiciones y protocolos que se usa para diseñar e integrar el software de las aplicaciones.

Más información sobre la integración

Productos

Red Hat Integration

Conjunto completo de tecnologías de integración y mensajería.

Red Hat Runtimes

Conjunto de productos y herramientas para desarrollar y mantener aplicaciones creadas en la nube.

Red Hat Process Automation

Conjunto de productos para automatizar los procesos y decisiones de la empresa de manera inteligente.

Red Hat Cloud Services

Los servicios de nube de Red Hat® incluyen aplicaciones, plataformas y servicios de datos alojados y gestionados que optimizan la experiencia en la nube híbrida.

Contenido adicional

Ebook

Integración ágil: el plano técnico de la arquitectura empresarial

VISION GENERAL

Red Hat Cloud Services

Servicios gestionados para el desarrollo en la nube

Capacitación

Curso de capacitación gratuito

Red Hat Agile Integration Technical Overview

Illustration - mail

Obtenga más contenido como este

Suscríbase a nuestro boletín informativo: Red Hat Shares.