Machine Learning para Rendimiento SAP

 In Knowledge, Machine Learning

Hoy en día conceptos como transformación digital, machine learning o big data se han popularizado hasta formar parte del vocabulario empresarial, empresas de éxito como Amazon, Netflix o Apple entre otras ya lo utilizan en sus productos o servicios. Cada compañía es responsable de aprovechar esta ola tecnológica y beneficiarse de ella, ya que según algunos gurús el machine learning se convertirá en la nueva electricidad, lo que significa que todos terminaremos utilizándolo de alguna manera y estará en todas partes.

De todos es sabido la importancia dentro del ecosistema de productos de software de las grandes compañías el papel que juegan los sistemas SAP, ya que desde el core de su negocio hasta sistemas de data warehousing pasan por usar algún componente suyo. No solo es importante contar con el software adecuado, si no también poder explotar al máximo toda la información que nos ofrece, lo cual debería ser un objetivo prioritario en el mundo globalizado y cambiante donde compiten las empresas.

Con el objetivo explotar la información de infraestructuras de nuestros sistemas SAP y de dar respuesta a la siguiente pregunta: ¿Y si pudiésemos combinar lo mejor de las herramientas de SAP como son SLR, EWA o TPO y expandirlas usando analítica predictiva con el uso de machine learning en un único producto de datos? Surge oanalitica, compañía especializada en análisis avanzados de datos operativos para el uso con productos SAP.

Por un producto de datos entendemos el resultado de un análisis estadístico el cual automatiza tareas complejas y expande el valor de nuestro modelo de datos predictivo, y como no todos los problemas se pueden resolver de la misma forma con machine learning, ya que dependeremos del tipo de datos y objetivo a perseguir, para intentar extraer el máximo beneficio de datos operacionales de infraestructura SAP estamos aplicando las siguientes técnicas:

Forecasting: Los datos operacionales históricos son conjuntos de datos idóneos para utilizar técnicas de machine learning que nos permitan analizar y pronosticar comportamientos futuros y evaluar la estacionalidad de los mismos. En este caso nos hemos decantado por utilizar un modelo ARIMA (Auto Regresive Integrated Moving Average) el cual 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.

Algunos de los principales problemas que nos encontramos al navegar por los datos históricos de nuestros sistemas SAP es la importancia de centrarse en aquellas métricas que nos puedan aportar un mayor valor en el análisis. En este caso nos hemos centrado en las siguientes por considerarlas mas significativas a la hora de evaluar la salud actual y futura de nuestros sistema SAP:

Average Dialog Response Time

Average CPU Time

Average Load Time

Average Database Time

Average processing Time

Average Gui Time

Average Queue Time

Average Lock Time

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

Gracias a poder contar con pronósticos de la evolución de estas métricas vamos a estar en condiciones de saber si nuestro sistema SAP puede resfriarse o acabar en pulmonía, información que debería ponernos en alerta para disparar medidas proactivas de mejora del rendimiento.

Clustering: Otra técnica popular en machine learning 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 (análisis multivariable que incluye el tiempo medio de respuesta, tiempo de cpu, gui, acceso a base de datos, etc…) que nos permita poner foco en aquellos grupos con mayor importancia dentro del conjunto.

En función de la agrupación de los clusters podremos poner foco 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 de clustering se conoce como clustering jerárquico y utiliza la distancia ecuclidea 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 prepara el conjunto de datos que más valor aporten apoyándonos en el análisis descriptivo inicial. Algunos de los criterios utilizados basados en aspectos importantes de infraestructuras son los siguientes:

Agrupación por transacciones e informes.

Agrupación por tipo de tarea (Dialogo, Batch, RFC,…)

Agrupación por puesto cliente

Agrupación por usuarios.

Agrupación por memoria

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 cuenta con valores atípicos o fuera del conjunto de valores de su marco de referencia. Normalmente se realiza un trabajo de análisis para entender porque existen estos valores y como afectan al aprendizaje del algoritmo.

En nuestro caso a la hora de analizar el conjunto de datos operacionales nos interesa conocer porque hay valores atípicos dentro de un grupo de referencia y como está afectando al rendimiento global. Aquí también como 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:

Que puestos clientes están afectando al rendimiento global por tiempo de respuesta medio o tiempo de base de datos.

Que informes o transacciones están afectando al rendimiento global por tiempo de respuesta medio, tiempo de base de datos o cpu.

Que usuarios están afectando al rendimiento global por tiempo de respuesta medio, bloqueo o acceso a base de datos

Todo estás técnicas en un único producto de datos avanzado que combina técnicas de analítica descriptiva tradicionales y técnicas de analítica predictiva, nos va a facilitar la compleja tarea de mantener nuestras infraestructuras SAP en un estada optimo y obtener entre otros los siguientes beneficios, todo ello de forma automatizada:

Reducción del coste total de propiedad (TCO) al poder contar con un análisis que nos permita optimizar nuestra infraestructura SAP.

Mejora de la experiencia de usuario al contar con unas infraestructuras optimas que permitan mejorar 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 mas importantes de nuestro sistema.

Recent Posts

Leave a Comment

×

Hello!

Click one of our representatives below to chat on WhatsApp or send us an email to oanalitica@oanalitica.com

×