La plataforma global e independiente para la comunidad SAP.

Apache Storm frente a SAP Smart Data Streaming

Para el análisis de datos en tiempo real, existen en el mercado varias tecnologías en desarrollo, así como soluciones ya establecidas. Con SAP Smart Data Streaming y Apache Storm, nos gustaría destacar tanto un representante muy orientado a la empresa como un representante del entorno de código abierto.
Björn Böttcher, Crisp Research
1 de junio de 2016
[shutterstock.com:294081374, Sergey Nivens]
avatar
Este texto ha sido traducido automáticamente del alemán al español.

Los datos determinan el pulso de las empresas. Cuanto más lentos y menos flujos de datos, menos eficaz es, por ejemplo, fidelizar a los clientes, optimizar el control de las máquinas o responder a las emergencias. Porque sin flujos de datos, el análisis en tiempo real, con ayuda del cual se pueden hacer optimizaciones, recomendaciones y tomar decisiones, se queda por el camino.

Arquitecturas de los adversarios

Una de las soluciones de streaming más importantes es la denominada Storm, concebida por Nathan Marz y transformada desde entonces en un proyecto Apache. Permite el procesamiento garantizado, robusto, distribuido y tolerante a fallos de datos en tiempo real en topologías definibles dinámicamente.

La base de esta plataforma son recursos de hardware dedicados para un clúster Zookeeper, el Nimbus y los supervisores. El clúster Zookeeper se encarga de la configuración distribuida de los sistemas individuales y actualmente es un componente fijo y sólido de muchos proyectos de código abierto, como Apache Hadoop.

Nimbus se encarga de la distribución de las topologías individuales dentro del clúster y, por tanto, del suministro del código del proyecto y de los recursos necesarios.

Bjoern BoetcherUna topología orquesta diferentes objetos fuente de datos (caños) y los objetos de procesamiento de datos (pernos) a través de un grafo de flujo dirigido. La propia nimbus no tiene estado y puede reiniciarse sin problemas.

Los supervisores alojan a los trabajadores individuales. Cada trabajador puede ejecutar uno o varios ejecutores de una topología en una JVM. Los supervisores pueden añadirse o eliminarse en cualquier momento durante el tiempo de ejecución de la plataforma.

En la versión 1.0 de Apache Storm, ahora también se puede definir un servidor Pacemaker para que el cluster Zookeeper no se sobrecargue y la comunicación de red se mantenga deliberadamente pequeña.

Para no tener que desplegar una topología más que una vez, es posible utilizar una caché distribuida. Por ejemplo, los archivos de configuración pueden adaptarse en tiempo de ejecución sin tener que reiniciar la topología.

Los datos de streaming pueden calcularse mediante ventanas (ventanas) que pueden definirse en longitud e intervalo. Esto permite, por ejemplo, calcular escenarios de streaming clásicos, como las principales tendencias en noticias sociales.

SAP Smart Data Streaming consta del servidor de streaming y de un clúster de streaming en el nivel arquitectónico más bajo. Cada uno de los componentes debe instalarse en hardware dedicado.

Un clúster de streaming se divide en uno o varios nodos (clientes), que representan el entorno de ejecución de los proyectos de streaming. Se pueden añadir más nodos en tiempo de ejecución según se desee. Una vez instalado y configurado el clúster, se puede crear y ejecutar un proyecto dentro de un espacio de trabajo.

Uno o varios espacios de trabajo pueden funcionar en un clúster, por ejemplo, para garantizar la separación del contenido de un proyecto. Esto se debe a que un espacio de trabajo define un espacio de nombres en el proyecto actual y también permite definir los derechos de acceso.

Esto da lugar automáticamente a diferentes espacios de trabajo debido a los diferentes derechos de acceso. Los proyectos son la unidad más pequeña que puede ejecutarse en el clúster, lo que permite definir la lógica empresarial. Esto se realiza en un proyecto a través de los componentes stream, window y adapter.

Los tres componentes pueden utilizarse en singular o en múltiple. Stream y Window son la unidad de procesamiento de los datos entrantes. Los datos que entran en el sistema pueden transformarse, enriquecerse o agregarse utilizando los flujos sin estado o las ventanas con estado.

Para tener el estado disponible en todo momento, Windows utiliza un almacenamiento de base de datos basado en políticas. Con la ayuda de políticas, se puede definir un número máximo de filas o un límite de tiempo para mantener los datos listos.

Por ejemplo, los datos que entran en el sistema pueden almacenarse durante cinco minutos y así, por ejemplo, identificar una desviación en las temperaturas de funcionamiento o en la presión de una máquina.

Por defecto, la caché se define como una ventana móvil. Sin embargo, también se puede convertir en una ventana de salto mediante una palabra clave. De este modo, los datos se borrarían automáticamente tras el intervalo de tiempo o línea definido y ya no se sobrescribirían continuamente de forma continua.

Los adaptadores dentro de un proyecto conectan flujos y ventanas a fuentes de datos y puntos finales de datos. Los adaptadores pueden aceptar información de eventos sin otra operación o realizar una de las siguientes acciones: insertar, actualizar, borrar, trastornar, safedelete.

Esto permite la conexión de una amplia variedad de fuentes de datos y puntos finales en diferentes modos de funcionamiento. Cabe señalar que los flujos no pueden modificar conjuntos de datos anteriores debido a su definición.

Boetcher 1606 I

Conocimientos lingüísticos

Apache Storm está basado en Java y Python y proporciona acceso nativo a toda la riqueza del lenguaje Java. También es posible ejecutar código de cualquier otro lenguaje utilizando RPC distribuido. Un ejemplo popular de integración de otros lenguajes en el desarrollo en Java puro es el uso de Python, por ejemplo, cuando se utilizan bibliotecas del campo del aprendizaje automático.

En este caso, el programa Python se llama directamente desde el código fuente Java y las bolsas de datos se pasan directamente. A continuación, la aplicación Python realiza los cálculos y devuelve el resultado al programa Java de llamada, por lo que el flujo de la topología no se interrumpe.

SAP Smart Data Streaming utiliza su propio lenguaje para programar la aplicación de streaming. El lenguaje Continuous Computation Language (CCL) basado en eventos se basa en la sintaxis SQL y puede ampliarse mediante secuencias de comandos CCL.

Siguiendo con la analogía de SQL, CCL puede considerarse como una ejecución infinitamente repetida y dinámica de consultas SQL, cuya ejecución se ve estimulada por los eventos en los flujos de datos. Los scripts CCL permiten a los desarrolladores escribir funciones y operadores personalizados.

La sintaxis de los scripts es similar a la del lenguaje de programación C. Todos los proyectos de streaming se escriben en CCL y luego se compilan y almacenan como archivos CCX ejecutables en el servidor de streaming.

Un ejemplo clásico del uso de scripts CCL es la definición de operadores flexibles. Éstos permiten crear diccionarios personalizados. Esto permitiría, por ejemplo, determinar el lapso de tiempo entre dos eventos definidos por el usuario.

Una buena característica es la opción de depuración, que permite reproducir en el sistema datos de prueba controlados desde una fecha hasta flujos individuales almacenados en caché.

Definición de los proyectos

La generación de topología en Apache Storm se basa en una clase Java que combina los componentes necesarios con la ayuda de diferentes agrupaciones (variaciones de enrutamiento). Estas agrupaciones regulan el flujo de datos y preservan la información durante los pasos de procesamiento.

Con SAP Smart Data Streaming, los proyectos se crean visualmente y los elementos individuales se enriquecen con lógica. La parte principal de la modelización del proyecto de streaming en SAP Smart Data Streaming se realiza mediante la sintaxis de tipo SQL.

Libertad y Obligación: Ecosistemas

El streaming de datos por sí solo no hace una aplicación. Por lo tanto, una plataforma de streaming también vive de su ecosistema. En el caso de Apache Storm, se trata de todo el zoológico de la familia Apache y, más allá de eso, todo lo que de alguna manera se puede abordar con Java. Esto significa que la flexibilidad es muy alta y la capacidad de integración también es inmensa.

En el caso del competidor de SAP, la situación parece algo más limitada en principio, ya que la plataforma se dirige principalmente al propio ecosistema de SAP. Sin embargo, con SAP Smart Data Streaming Lite, SAP Hana y Siemens MindSphere, por ejemplo, ya están cubiertas muchas áreas de aplicación de una empresa.

La versión SAP Smart Data Streaming Lite es interesante en este caso, ya que permite externalizar el preprocesamiento de los datos a un dispositivo integrado. De este modo, SAP amplía también de forma proactiva la plataforma de streaming al entorno IoT.

Tormenta Apache

Idoneidad en el entorno empresarial

Ambos representantes de la plataforma de streaming son aptos para su uso en el entorno corporativo. Todas las cuestiones relacionadas con la seguridad, la escalabilidad y la gestión de recursos, el soporte, el estado de desarrollo del proyecto ("código abierto"), los acuerdos de nivel de servicio, la integración con los sistemas existentes y la capacidad de mantenimiento pueden ser dominadas sin problemas por ambos representantes.

SAP conoce bien el entorno corporativo y cubre con su experiencia muchos escenarios y necesidades. Con Apache Storm, la situación es exactamente la contraria. El software tiene su origen en el entorno de código abierto y ha evolucionado hacia el panorama corporativo.

Con la versión 1.0, recientemente publicada, también se dispone de la madurez necesaria del proyecto. Con el soporte de Kerberos, nada se opone a un uso seguro en el contexto corporativo.

La debilidad a menudo mencionada de Nimbus como punto único de fallo también puede superarse con la estrategia adecuada (ejemplo: Blog de Hortonworks).

Perspectivas y recomendaciones

Las empresas que deseen implantar una solución de streaming internamente, por ejemplo en las áreas de Industria 4.0, telemática, sanidad o comercio electrónico, pueden confiar tanto en SAP Smart Data Streaming como en Apache Storm. Ambas tecnologías pueden realizar tareas de streaming.

Con la solución SAP, los factores negativos son que se necesita hardware dedicado, se requiere un sistema de archivos distribuido, se incurre en costes adicionales por licencias, la plataforma hasta ahora sólo está orientada al ecosistema SAP, es necesaria una curva de aprendizaje adicional para la CCL y aún no existe una gran comunidad de desarrolladores.

Por el contrario, Apache Storm sólo carece de soporte nativo de monitorización, lo que se ve mitigado por el amplio ecosistema. Queda por decir que SAP ha implementado una buena solución, que parece muy compleja al principio, pero que se puede aprender. Sin embargo, la variante de código abierto es más abierta, flexible y rentable.

avatar
Björn Böttcher, Crisp Research

Bjoern Boettcher es Analista Senior en Crisp Research


Escriba un comentario

Trabajar sobre la base de SAP es crucial para el éxito de la conversión a S/4. 

Esto confiere al centro de competencia una importancia estratégica para los clientes actuales de SAP. Independientemente del modelo operativo de S/4 Hana, temas como Automatización, Supervisión, Seguridad, Gestión del ciclo de vida de las aplicaciones y Gestión de datos la base de las operaciones S/4.

Por segunda vez, E3 Magazine organiza una cumbre para la comunidad SAP en Salzburgo con el fin de ofrecer información exhaustiva sobre todos los aspectos del trabajo preliminar de S/4 Hana. Toda la información sobre el evento puede encontrarse aquí:

Cumbre de Centro de Competencia SAP 2024

Lugar de celebración

Sala de actos, FourSide Hotel Salzburg,
En el recinto ferial 2,
A-5020 Salzburgo

Fecha del acontecimiento

5 y 6 de junio de 2024

Entrada normal:

€ 590 sin IVA

Lugar de celebración

Sala de actos, Hotel Hilton Heidelberg,
Kurfürstenanlage 1,
69115 Heidelberg

Fecha del acontecimiento

28 y 29 de febrero de 2024

Entradas

Billete normal
590 EUR sin IVA
El organizador es la revista E3 de la editorial B4Bmedia.net AG. Las conferencias irán acompañadas de una exposición de socios seleccionados de SAP. El precio de la entrada incluye la asistencia a todas las conferencias de la Cumbre Steampunk y BTP 2024, la visita a la zona de exposición, la participación en el evento nocturno y el catering durante el programa oficial. El programa de conferencias y la lista de expositores y patrocinadores (socios de SAP) se publicarán en este sitio web a su debido tiempo.