Apache Spark, Kafka y Flink exhiben la innovación con Hadoop para aplicaciones de “Big Data”

Apache Software Foundation es una de las organizaciones de gobierno de software de código abierto más antiguas y respetadas, impulsada por la adopción masiva de la industria de los servidores web Apache HTTP durante los últimos 20 años. Apache Software Foundation fue fundada por los programadores de la plataforma de servidor web original en 1999 con una misión más amplia de apoyar el desarrollo de proyectos de software de código abierto y sus comunidades para construir la próxima generación de estándares web. La licencia de Apache es similar a las licencias de software GNU GPL, MIT y BSD para publicar código fuente abierto que otros desarrolladores o empresas pueden usar, copiar, modificar, clonar y revender sin más restricciones que la apertura y atribución continuas. Actualmente hay más de 300 proyectos en desarrollo dentro del ecosistema de Apache Software Foundation, que incluye un equipo de laboratorios, incubadora, ático e infraestructura. Algunos de los proyectos actuales de ASF que tienden a una adopción industrial más amplia en 2017 son Apache Spark, Kafka y Flink, cada uno de los cuales implementa aspectos de CQRS de nuevas formas para optimizar los flujos de datos reactivos en la arquitectura de la plataforma en la nube para admitir una nueva generación de aplicaciones web.

Apache Spark, Kafka y amp;  Flink muestra la innovación con Hadoop para & quot; Big Data & quot;  Aplicaciones

Tendencias de desarrollo de software en el ecosistema de Apache Software Foundation

La amplia adopción por parte de la industria del marco del servidor HTTP Apache en el hosting web, que se puede ejecutar en ambos sistemas operativos Linux y Windows por igual, incluye la instalación de Apache en millones de servidores web donde hay una revisión generalizada del código fuente entre programadores expertos en Organizaciones empresariales académicas, gubernamentales y empresariales centradas en la seguridad de los datos y la optimización del rendimiento del hardware. Una publicación de blog reciente de IBM discutiendo “qué significa realmente el código abierto“incluyó un énfasis principal en la contribución continua de la compañía a proyectos en el ecosistema de Apache, como Apache Atlas, HBase, Ambari, Spark, Kafka, Knox y Flink para el análisis de datos en la nube.

De los más de 300 proyectos en desarrollo por la ASF, sólo el 8,8% están relacionados con servidores de red, con otro 8,6% en aplicaciones de “big data”. Los marcos de desarrollo web y las bases de datos comprenden cada uno aproximadamente el 7% del total de proyectos de ASF. Aunque se utiliza en más del 80% de todos los sitios web, PHP no es uno de los principales lenguajes de programación que se encuentran en la mayor parte del código publicado bajo la licencia Apache. Más bien, alrededor del 60% es código Java, con C, Python, C ++, JavaScript, Scala, C # y Perl también estándares populares. Para rastrear los diferentes proyectos de software libre publicados bajo la licencia Apache, el índice de la batería es interesante y Datamation ha recopilado investigaciones para crear una “lista definitiva” de más de 1250 proyectos de software libre en desarrollo activo en una amplia gama de sectores (incluidos Apache, GPL, MIT, BSD y otras licencias de software).

Algunos de los proyectos de tendencia organizados bajo la Apache Software Foundation actualmente son:

  • Servidor HTTP Apache – el software de plataforma de servidor web más popular del mundo
  • Apache Tomcat – una plataforma de servidor web para aplicaciones Java Servlet y WebSocket
  • Apache Hadoop – plataforma informática escalable y distribuida que utiliza MapReduce
  • Apache Cassandra – base de datos escalable de múltiples clústeres para usar con Hadoop
  • Apache Spark – proporciona un motor de cálculo para Hadoop con aprendizaje automático y gráficos
  • Apache Kafka – una plataforma de transmisión distribuida para canalizaciones de datos con escala horizontal
  • Apache HBase – una nueva base de datos para Hadoop optimizada para escalar a miles de millones de tablas
  • Apache Flink – marco de flujo de datos para el procesamiento por lotes en más de 1000 clústeres de nodos
  • Atlas de Apache – meta-marco de gobernanza de datos y taxonomía semántica para Hadoop
  • Apache Knox – Rest API y puerta de enlace de aplicaciones web para servidores Hadoop
  • Apache Ambari – aprovisionar, monitorear y administrar clústeres de Hadoop con herramientas Ambari
  • Lucene / Solr – incluye el núcleo de búsqueda de Java con API XML / HTTP y JSON / Python / Ruby
  • CouchDB – Protocolo de base de datos único para replicar y sincronizar entre clústeres a escala
  • Apache Mesos – un marco de gestión de orquestación en la nube para escalar máquinas virtuales elásticas
  • CloudStack – un sistema de gestión de centro de datos en la nube donado a Apache por la empresa
  • SpamAssassin – filtrado avanzado antispam para correo electrónico con capacidades de aprendizaje automático
  • Subversión / Maven – software de gestión de proyectos y control de versiones estándar de la industria
  • Oficina abierta – paquete de software de procesamiento de textos, hojas de cálculo y autoedición
  • Apache Cordova – un kit de herramientas de desarrollo de aplicaciones móviles multiplataforma
  • Onda – la infame plataforma Google Wave, donada a Apache License para desarrolladores

Uno de los aspectos más interesantes del ecosistema de Apache Software Foundation es que permite a las especialidades de TI trabajar juntas en software de infraestructura que construye estándares multiplataforma en el mercado de hosting web. Se están desarrollando nuevos proyectos de vanguardia a partir de las divisiones Apache Incubator y Labs del trabajo colectivo de equipos de programación internacionales distribuidos, mientras que los estándares empresariales heredados como Java y Wave se mantienen bajo la licencia Apache con tendencia hacia el ático. La plataforma Hadoop integra una serie de nuevos proyectos de Apache bajo un único marco interoperable a medida que evolucionan los estándares de la industria en computación elástica para servidores web y bases de datos en clúster.

La Apache Software Foundation también supervisa el desarrollo de una serie de utilidades de programación esenciales como Subversion para el control de versiones y Maven para la gestión de proyectos, así como OpenOffice, que es un paquete completo de procesamiento de texto, hoja de cálculo y autoedición que replica la funcionalidad de Microsoft Office en Fundaciones de FOSS. Apache Mesos y CloudStack brindan una funcionalidad similar a OpenStack, donde cada plataforma ofrece diferentes herramientas de virtualización destinadas a la administración de redes en la nube privada, la orquestación de la nube híbrida y la administración del centro de datos. SpamAssassin se ofrece ahora en la mayoría de las instalaciones de cPanel y permite aplicar el aprendizaje automático para mejorar los filtros antispam en el correo electrónico entrante. Apache Solr y Lucene se han popularizado como marcos de búsqueda alternativos para Drupal. Apache Spark, Kafka y Flink tienen una fuerte tendencia en la comunidad DevOps con una nueva adopción en aplicaciones empresariales para optimizar sitios web de comercio electrónico y redes sociales a gran escala.

Cloudera – “¿Qué es Apache Spark?” (2015)

Software en la nube de código abierto – “Mike Olson, director de estrategia y cofundador de Cloudera, ofrece una descripción general de Apache Spark, su aumento de popularidad en la comunidad de código abierto y cómo Spark está preparado para reemplazar MapReduce como motor de procesamiento general en Hadoop”. Aprende más.

Tendencias de desarrollo de software en el ecosistema de Apache Software Foundation

CQRS con abastecimiento de eventos – “Con el modelo basado en CQRS y Event Sourcing, la integración se ha pensado desde el primer caso de uso. El lado de lectura necesita integrar y representar lo que está ocurriendo en el lado de escritura, es un punto de integración”. Más información sobre CQRS.


CQRS: Segregación de responsabilidad de consultas de comandos

Segregación de responsabilidad de consultas de comando (CQRS) funciona como un medio de optimización de la base de datos donde, en lugar de requerir que un servidor web determine específicamente si una solicitud entrante es una operación de lectura (comando) o escritura (consulta), estas distinciones se hacen específicamente de antemano como parte del código de la plataforma de la base de datos . Esto conduce a un procesamiento de bases de datos más eficiente a escala para aplicaciones de ‘big data’ y un mejor almacenamiento en caché en memoria para sitios web grandes con muchos usuarios simultáneos. CQRS también abre oportunidades para la transmisión de datos y el procesamiento de eventos en el comercio electrónico que requieren una gran cantidad de bases de datos para el seguimiento de múltiples variables en grandes comunidades de usuarios en tiempo real, como Amazon.com, eBay o Uber. La optimización de la base de datos mediante CQRS a escala está llevando al desarrollo de una nueva categoría de aplicaciones de servidor web en la nube creadas alrededor de Apache Spark, Kafka y Fink en la plataforma Hadoop.

  • Apache Spark – incluye administradores de clústeres de servidores web para la sincronización de procesos CQRS
  • Apache Kafka – ofrece un administrador de eventos para flujos de datos CQRS con consultas interactivas
  • Apache Flink – aplica análisis de datos a los flujos de Kafka para la gestión de recursos de arquitectura

CQRS se utiliza en grandes sitios web de comercio electrónico para proporcionar comentarios en tiempo real a los clientes donde las ventas, el inventario, el envío, el descuento y el análisis antifraude deben proporcionarse individualmente para cada pedido en función de los parámetros locales a escala. CQRS también abre un medio para rastrear y relacionar el interés de búsqueda del cliente o los patrones de navegación con el historial almacenado anterior utilizando algoritmos de aprendizaje automático. De esta manera, los frameworks Apache Hadoop, Cassandra, Kafka, Spark y Flink se pueden instalar juntos en una arquitectura de pila para programar una nueva generación de aplicaciones de software empresarial.
Tendencias de desarrollo de software en el ecosistema de Apache Software Foundation

Apache Spark – “Específicamente, para ejecutarse en un clúster, SparkContext puede conectarse a varios tipos de administradores de clúster (ya sea el administrador de clúster independiente de Spark, Mesos o YARN), que asignan recursos entre aplicaciones”. Más información sobre Apache Spark.
Tendencias de desarrollo de software en el ecosistema de Apache Software Foundation
Apache Kafka – Apache Kafka tiene un sistema de bus de mensajes rápido, escalable, duradero y de alta disponibilidad para registros replicados distribuidos que conduce a un mejor almacenamiento en caché de la base de datos y procesamiento de respuestas repetitivas para grandes sitios web multiusuario con muchas variables individuales que se actualizan con frecuencia. El servicio de registro de confirmación incluye la sincronización de particiones entre varias versiones simultáneas de bases de datos con marcas de tiempo y valores de atributos para mejorar el procesamiento y análisis de flujos de datos en tiempo real en el comercio electrónico.

Tendencias de desarrollo de software en el ecosistema de Apache Software Foundation

Apache Flink – “Apache Flink es un marco de procesamiento de flujo de código abierto para aplicaciones de flujo de datos distribuidas, de alto rendimiento, siempre disponibles y precisas”. Más información sobre Apache Flink.

Pivotal: “Reactive Kafka” (2017)

Flujos reactivos – “Apache Kafka es un bus de mensajería distribuido, escalable y de alto rendimiento. En los últimos años, Kafka se ha convertido en un componente clave para las aplicaciones distribuidas con uso intensivo de datos. Como bus de mensajes de alto rendimiento, Kafka permite el desarrollo de aplicaciones que utilizan la arquitectura de microservicios “. Más información sobre Apache Kafka.

Tendencias de Google: proyectos de Apache Software Foundation

Estos gráficos incluyen datos resumidos de Google Trends para estimar la popularidad de diferentes proyectos en desarrollo por Apache Software Foundation:

Tendencias de desarrollo de software en el ecosistema de Apache Software Foundation

Marcos de base de datos – “Apache Hadoop & Cassandra son significativamente más populares que Apache Tomcat, mientras que hay poco y cada vez menor interés en el marco CouchDB”. Proyectos de base de datos Apache.

Tendencias de desarrollo de software en el ecosistema de Apache Software Foundation

Aplicaciones CQRS – “Apache Spark y Kafka muestran un creciente interés reciente en alrededor de un 25% -30% de la actividad de búsqueda total para el software Apache HTTPS Server”. Proyectos de Apache Spark, Kafka y Flink.

Tendencias de desarrollo de software en el ecosistema de Apache Software Foundation

Plataformas de búsqueda de “macrodatos” – “Lucene es uno de los proyectos más populares de la Apache Software Foundation con aproximadamente 3-4 veces el interés de búsqueda en comparación con CloudStack”. Plataformas de búsqueda Apache.

Tendencias de desarrollo de software en el ecosistema de Apache Software Foundation

Software gratuito de código abierto (FOSS) – “OpenOffice, Subversion y Maven se encuentran entre los proyectos más conocidos en general en el ecosistema de Apache”. Compare tendencias para OpenOffice, Subversion y Maven.