Machine Learning en acción

Productos de datos operacionales para soluciones SAP

5097

Conceptos como transformación digital, machine learning o big data se han popularizado hasta formar parte del vocabulario empresarial. Amazon, Netflix o Apple, entre otras, ya los utilizan en sus productos o servicios. Cada compañía es responsable de aprovechar esta ola tecnológica y beneficiarse de su aplicación, ya que, según algunos gurús, el machine learning se convertirá en la nueva electricidad: estará en todas partes y todos terminaremos utilizándolo de una manera u otra.

Las soluciones de SAP tienen un papel predominante dentro del ecosistema de software que utilizan las grandes compañías y son responsables del funcionamiento de un gran número de procesos internos íntimamente ligados a negocio, tanto en lo que se refiere a los sistemas core o de misión crítica como también a los de data warehousing. En este tipo de contexto no solo es importante contar con la solución adecuada, también lo es poder explotar al máximo toda la información que son capaces de ofrecer. Mantener estos entornos en un estado óptimo permitirá responder con garantías a las demandas de un mercado tan complejo como el actual.

Con el objetivo de explotar la información de infraestructuras de los sistemas SAP, existen varios informes tales como early watch alert (EWA), service level report (SLR) o technical performance optimization (TPO). Pero ¿y si pudiésemos combinarlos y complementarlos utilizando analítica predictiva y machine learning en un único producto de datos?

Por producto de datos entendemos el resultado de un análisis estadístico que automatiza tareas complejas y expande el valor de nuestro modelo de datos predictivo. Como no todos los problemas se pueden resolver de la misma forma con machine learning, ya que la resolución depende del tipo de datos y del objetivo que se persigue, en nuestra solución —a la hora de extraer el máximo beneficio de datos operacionales de infraestructura SAP— estamos aplicando las siguientes técnicas.

Explotar la información de infraestructura y combinarla con analítica y machine learning

Forecasting

Los datos operacionales históricos son conjuntos de información que resultan idóneos para aplicar sobre ellos técnicas de machine learning que permitan analizar y pronosticar comportamientos futuros y evaluar su estacionalidad. En este caso, nos hemos decantado por utilizar un modelo ARIMA (auto regresive integrated moving average), que nos permite describir un valor como una función lineal basándose en datos anteriores, además de poder detectar un comportamiento cíclico o estacional.

Uno de los principales problemas que existen a la hora de navegar por los datos históricos de los sistemas SAP es la importancia de centrarse en aquellas métricas que puedan aportar un mayor valor en el análisis. En este caso, nos hemos centrado en una serie de métricas que consideramos las más significativas a la hora de evaluar la salud actual y futura del sistema SAP. Hablamos, por ejemplo, de average dialog response time, average CPU time, etc.

Otro problema frecuente, y no menos importante, es poder contar con los suficientes datos históricos para poder predecir correctamente un comportamiento futuro, así como la estacionalidad. Para ello, se utilizan los datos estadísticos almacenados diaria y semanalmente, para que sea posible poder contar con la mayor granularidad posible. Cuantos más datos históricos, mejores y más precisas serán las predicciones.

De hecho, gracias a la posibilidad de contar con pronósticos de la evolución de estas métricas, vamos a estar en condiciones de saber si nuestro sistema SAP puede simplemente “resfriarse” o acabar directamente con una pulmonía. Esta información debería ponernos en alerta para que podamos disparar medidas proactivas de mejora del rendimiento.

Clustering

Otra técnica popular en machine learning, situada dentro de la categoría de aprendizaje no supervisado, es el clustering o agrupamientos en función de la distancia entre sí de cada componente. En este caso, aplicamos aprendizaje no supervisado a datos operacionales, con el objetivo de clasificar o agrupar usando diferentes métricas y realizar el análisis multivariable, que incluye el tiempo medio de respuesta, tiempo de CPU, GUI, acceso a base de datos, etc. Esto nos permite poner foco en aquellos grupos que cuentan con una mayor importancia dentro del conjunto.

En función de la agrupación de los clusters podremos centrarnos en aquellos elementos que maximicen la función de coste/beneficio y aplicar técnicas de rendimiento solo a ellos (aplicamos la regla 80/20). La técnica utilizada se conoce como “clustering jerárquico” y utiliza la distancia euclídea para decidir la cercanía entre clusters.

La dificultad en aplicar correctamente clustering jerárquico a datos operacionales es definir un criterio de agrupación adecuado y preparar el conjunto de datos que más valor aporte apoyándonos en el análisis descriptivo inicial. Algunos de los criterios utilizados, basados en aspectos importantes de infraestructuras, son los siguientes:

  • Por transacciones e informes.
  • Por tipo de tarea (diálogo, batch, RFC…).
  • Por puesto cliente.
  • Por usuarios.
  • Por memoria.

Se trata de facilitar la tarea de mantener las infraestructuras SAP en un estado óptimo

Detección de outliers

Los algoritmos de machine learning son sensibles a la hora de realizar predicciones si los conjuntos de datos que se utilizan cuentan con valores atípicos o fuera del conjunto de su marco de referencia. Normalmente, se realiza un trabajo de análisis para entender por qué existen estos valores y cómo afectan al aprendizaje del algoritmo.

En nuestro caso, a la hora de analizar el conjunto de datos operacionales nos interesa especialmente conocer por qué hay valores atípicos dentro de un grupo de referencia y cómo está afectando al rendimiento global. Aquí, al igual que ocurre en las otras técnicas, contar con un criterio coherente que aplicar al conjunto de datos es clave para poder extraer el máximo conocimiento útil posible. Algunos de los criterios utilizados son los siguientes:

  • Puestos cliente que están afectando al rendimiento global por tiempo de respuesta medio o tiempo de base de datos.
  • Informes o transacciones que están afectando al rendimiento global por tiempo de respuesta medio, tiempo de base de datos o CPU.
  • Usuarios que están afectando al rendimiento global por tiempo de respuesta medio, bloqueo o acceso a base de datos.

Analítica descriptiva y predictiva

Se trata de unir todas estás técnicas en un único producto de datos avanzado, que combina la analítica descriptiva tradicional junto con técnicas de analítica predictiva. El resultado permite facilitar la compleja tarea de mantener las infraestructuras SAP en un estado óptimo y obtener, entre otros, los siguientes beneficios; todo ello en un informe automatizado:

  • Reducción del coste total de propiedad (TCO) al poder contar con un análisis que permita optimizar la infraestructura SAP.
  • Mejora de la experiencia de usuario, ya que será posible contar con unas infraestructuras óptimas con las que se mejora el uso de la aplicación.
  • Minimizar el impacto de potenciales problemas de rendimiento, gracias a la aplicación de técnicas de analítica predictiva que nos ayudan a adelantarnos y a focalizarnos en los aspectos más importantes del sistema.