Apache Kafka de código abierto es un componente cada vez más central de una estrategia de grandes datos eficaz. Aquí está el por qué.
Uno de los proyectos de código abierto más emocionantes que ha surgido del gran movimiento de datos es Apache Kafka. Originalmente concebido en LinkedIn, Kafka es ahora una parte cada vez más importante de una amplia comunidad de desarrollo de código abierto. De hecho, Kafka ha llegado a un momento crucial ya que se está utilizando como plataforma central para la gestión de datos de streaming en las organizaciones, incluyendo: Operaciones de IO, fraude y seguridad en el sector de los servicios financieros, y seguimiento del inventario de las tiendas en el sector minorista, entre otros.
Kafka es un ejemplo de cómo LinkedIn es un póster para guiar el código interno en vibrantes comunidades de código abierto.
Neha Narkhede, co-fundadora y CTO de Confluent, y ex-líder de infraestructura de streams en LinkedIn, habló con ConsejoTecnologico.com sobre la adopción empresarial de Kafka y las formas óptimas de gestionar los datos de streaming.
ConsejoTecnologico.com: ¿Cómo ha sido la integración de Apache Kafka en las empresas?
Narkhede: Según una encuesta reciente de la comunidad de Kafka, el 68% de los usuarios de Kafka planean incorporar más procesamiento de flujos en los próximos seis a doce meses, y el 65% de las organizaciones que respondieron planean contratar empleados con conocimientos de Kafka en los próximos doce meses, ya que el número de aplicaciones que utilizan Kafka sigue creciendo.
SEE Apache Kafka está en auge, pero ¿deberías usarlo? (ConsejoTecnológico.com)
En la reciente Cumbre de Kafka, escuchamos a compañías como Uber, Netflix, Dropbox, HomeAway, Goldman Sachs, y más que están usando Kafka para tomar decisiones de negocios en tiempo real.
Más información sobre Big Data
Por ejemplo, Uber desarrolló su sistema de procesamiento de flujos para manejar una serie de casos de uso en Uber Marketplace, y Kafka desempeñó un papel importante en la construcción de un sólido y eficiente oleoducto de datos. Uno de los ejemplos más conocidos es el de los precios de las sobrecargas. Imagine obtener todos los datos para hacer que esto suceda en tiempo real: Desde la demanda del usuario hasta el número de coches en la carretera, y la toma de decisiones sobre cuál debe ser el precio minuto a minuto.
Este es un gran ejemplo de un pipeline de datos en tiempo real en acción.
HomeAway es otro gran ejemplo. Como líder en alquileres de vacaciones, tienen más de un millón de listados (y en crecimiento. Con Kafka, HomeAway conecta fuentes de datos dispares, permitiendo una variedad de casos de uso, incluyendo monitoreo de SLA, pruebas A/B, segmentación de visitantes, detección de fraude, ETL en tiempo real y más.
Confluent, la empresa que dejé LinkedIn para cofundar, se centra en ampliar Apache Kafka con Confluent Platform para satisfacer las necesidades de las empresas que necesitan gestionar datos a escala y velocidad. Esto incluye herramientas como Kafka Streams, Kafka Connect, y un Centro de Control para un nuevo nivel de visibilidad y fortaleza operativa de su clúster Kafka a escala.
ConsejoTecnologico.com: ¿Cuál es la situación en la que Kafka es absolutamente el mejor marco? ¿Qué caso de uso?
Narkhede: Los casos de uso más comunes de Kafka son el transporte de datos en tiempo real, la integración y el procesamiento de secuencias en tiempo real.
Para el transporte y la integración de datos, los usuarios aplican Kafka Connect para conectar los datos a las aplicaciones, de modo que todos los sistemas tengan acceso a los datos más actualizados. Esto incluye cosas como datos de registro, cambios en la base de datos, datos de sensores y dispositivos, flujos de monitorización, registros de datos de llamadas y datos de teletipo de stock.
VER ¿Podría Concord derribar a Apache Spark de su gran trono de datos? (ConsejoTecnológico.com)
Para el procesamiento de flujos en tiempo real, Kafka Streams es una extensión del núcleo de Kafka que permite a un desarrollador de aplicaciones escribir consultas continuas, transformaciones, alertas activadas por eventos y funciones similares sin necesidad de un marco de procesamiento de flujos dedicado. Estas funciones se utilizan a menudo en la supervisión de la seguridad, las operaciones en tiempo real (como Uber) y las aplicaciones asíncronas, como las comprobaciones de inventario para un minorista.
ConsejoTecnologico.com: ¿Qué importancia tiene la localidad de datos cuando se ejecutan estos tipos de tuberías de datos en tiempo real? He oído algo en el sentido de que ejecutando en DC/OS, Kafka puede leer datos localmente entre Kafka-Cassandra. ¿Cómo describiría la oportunidad de ejecutar marcos complementarios en el mismo cluster, en términos de una razón por la cual la industria se está moviendo hacia las abstracciones que son posibles gracias a Mesosphere DC/OS?
Narkhede: La gestión de servicios a escala de centro de datos presenta muchas oportunidades de optimización a las que es mucho más difícil acceder cuando se gestiona cada servicio individualmente. Aunque la capacidad de co-ubicar servicios relacionados es un beneficio obvio, hay casos en los que eso no tiene sentido y, en cambio, lo que se necesita es la capacidad de asignar recursos dedicados a aplicaciones de estado para el aislamiento. Esto último es lo que necesita al implementar aplicaciones de estado, como Kafka y Cassandra, y Mesos ha agregado soporte para expresar tales necesidades de implementación avanzada que se necesitan para administrar aplicaciones de estado a escala.
Nos aseguramos de que la implementación de la Plataforma Confluente de Mesos mantuviera la localidad de datos donde fuera necesario (por parte de los propios corredores. Nuestros componentes, Kafka REST Proxy y Schema Registry, son efectivamente apátridas y pueden ejecutarse en esos tipos de estructuras. Mientras que los servicios estatales, como los corredores de Kafka, pueden ser administrados de manera diferente. Ambas clases de servicio son necesarias para toda la plataforma de confluencia. Al soportar la plataforma completa, permite una mayor flexibilidad para los clientes.
ConsejoTecnologico.com: ¿Cuál es la importancia del programador de dos niveles de Mesosphere DC/OS? ¿Por qué se encuentra en una posición diferente para atraer el apoyo de los socios/ecosistemas (como en el caso de Confluent/DataStax)?
Narkhede: Los diferentes servicios tienen diferentes requisitos en cuanto a los recursos y el despliegue de los clústeres. El programador de dos niveles satisface las necesidades de implementación de aplicaciones de estado como Kafka, en las que es necesario optimizar la ubicación de los datos, siempre que sea posible, para ahorrar ancho de banda de red y E/S. Esto ofrece una mejor experiencia operativa a los clientes sin sacrificar el rendimiento que ofrece Kafka.
Boletín informativo de Big Data Insights
Domine los fundamentos de la analítica de datos de gran tamaño siguiendo estos consejos de expertos y leyendo los conocimientos sobre las innovaciones de la ciencia de datos. Lunes de entrega
mismo