Las metodologías de DevOps generan cada vez más conjuntos de datos grandes y diversos en todo el ciclo de vida de la aplicación, desde el desarrollo hasta la implementación y la gestión del rendimiento de la aplicación, y solo una capa sólida de monitoreo y análisis puede realmente aprovechar estos datos para el objetivo final de DevOps de principio a fin Fin de la automatización.
El reciente aumento del aprendizaje automático, y las capacidades relacionadas, como el análisis predictivo y la inteligencia artificial, han comenzado a impulsar a las organizaciones a explorar la implementación de un nuevo modelo de análisis de datos que se basa en algoritmos matemáticos.
A pesar del beneficio prometido de ayudar a los equipos a optimizar las operaciones y obtener una mayor visibilidad de sus datos, la adopción del aprendizaje automático en la caja de herramientas DevOps es limitada.
Probemos y examinemos por qué.
Cómo puede ayudar el aprendizaje automático
Comencemos por comprender cómo el aprendizaje automático puede encajar y beneficiar la metodología DevOps.
Hay dos beneficios clave interrelacionados para implementar el aprendizaje automático en DevOps: reducir la relación ruido / señal y reemplazar el modo reactivo con un enfoque proactivo basado en predicciones precisas.
Debido a la forma en que se han monitoreado los sistemas desde hace décadas, y debido a que aún no se ha introducido un mejor enfoque, la mayoría de los equipos de hoy en día usan el enfoque de umbral en el monitoreo. Los umbrales se definen en base a la sabiduría convencional, los instintos y el hábito.
Si ha definido el 50% de CPU como el umbral para sus instancias EC2, y esta métrica sube al 70%, su grupo de autoescalado proporcionará más instancias hasta que todo el grupo vuelva al 50%.
Por supuesto, esta es una gran mejora en comparación con el método anterior en el entorno tradicional del centro de datos, que consistía en conectar constantemente nuevos servidores. Sin embargo, la verdad del asunto es que el enfoque de umbrales tradicional todavía da como resultado una alta relación señal / ruido y fatiga de alerta, lo que finalmente hace que los ingenieros de DevOps persigan incendios que no son incendios para comenzar.
El enfoque de aprendizaje automático se basa en un enfoque más matemático, que define umbrales basados en lo que es estadísticamente significativo y lógicamente sólido. El aprendizaje automático utiliza diversas metodologías y modelos, como la regresión lineal y logística, la clasificación y el aprendizaje profundo, para escanear grandes conjuntos de datos, tendencias de identidad y correlaciones, y hacer predicciones.
El estado actual del aprendizaje automático en DevOps
Cada vez más y más herramientas de próxima generación en la pila DevOps admiten el aprendizaje automático, pero estas herramientas son a menudo cajas negras que funcionan como silos de datos aislados.
Con los equipos de DevOps todavía demasiado ocupados apagando incendios, y con la falta de profesionales de DevOps que realmente entienden el aprendizaje automático, el análisis predictivo y la IA, el impacto general de estas herramientas en la automatización integral y basada en datos sigue siendo limitado.
Los productos de monitoreo o implementación que cuentan con aprendizaje automático generalmente no brindan visibilidad sobre cómo funcionan los algoritmos subyacentes, lo que deja a los científicos de datos escépticos sobre si sus conclusiones son correctas o no. El enfoque de caja negra también va en contra de los procedimientos normales de aprendizaje automático que permiten al analista ajustar el algoritmo de manera iterativa hasta que sea lo suficientemente preciso.
Además, y quizás lo más importante, incluso cuando el proveedor proporciona visibilidad, ajustar el aprendizaje automático a las necesidades del negocio requiere conocimiento que los programadores ordinarios carecen.
Los ingenieros de DevOps de hoy deben saber cómo funciona la infraestructura, cómo codificar y cómo utilizar DBaaS en la nube. Agregar el aprendizaje automático a este conjunto de habilidades es un desafío enorme, si no imposible, ya que la mayoría de los ingenieros de DevOps simplemente no son matemáticos.
Obstáculo # 1 – La brecha de habilidades de aprendizaje automático
El aprendizaje automático es matemática aplicada. Para comprenderlo, el desarrollador necesita una comprensión sólida de logaritmos, cálculo, series y secuencias infinitas, álgebra lineal, estadística, programación lineal, análisis de regresión y trigonometría. La mayoría de los graduados universitarios los estudiaron en la universidad, pero es probable que los hayan olvidado porque no los usan todos los días.
Los programadores de Big Data entienden los conjuntos y cómo ejecutar las funciones de mapReduce. Pero habiendo extraído y transformado los datos, es posible que no sepan a dónde ir desde allí para sacar conclusiones y hacer proyecciones.
Para hacerlo, necesitan saber qué función estadística y algoritmo deben usar. ¿Deberían usar regresión logística o lineal, agrupación de k-media, máquinas de vectores de soporte, bayes ingenuas, descenso de gradiente estocástico o una red neuronal? Toda esa jerga es indescifrable para la mayoría. Sin embargo, entenderlo es lo que hace el científico de datos. Un artículo reciente en The New York Times dice que debido a la escasez de estos, los científicos de datos pueden ganar hasta $ 300,000 por año.
Obstáculo # 2 – Desafíos organizacionales
Como se mencionó anteriormente, el obstáculo número uno para incorporar el aprendizaje automático de una manera significativa en DevOps es que los ingenieros informáticos habituales no entienden las matemáticas y las estadísticas aplicadas, y el aprendizaje automático tiene que ver con la ciencia de datos.
Como resultado, un proyecto de aprendizaje automático DevOps a menudo tendrá que dividirse entre diferentes conjuntos de habilidades y títulos. Ingenieros de Big Data, programadores de Big Data, científicos de datos: reunir un equipo multidisciplinario de esta naturaleza es en sí mismo un obstáculo organizacional significativo.
Aún más desalentador es administrar un proyecto tan complejo para que cumpla sus objetivos a tiempo y dentro del presupuesto. Por lo tanto, no es sorprendente que incorporar el aprendizaje automático profundamente en DevOps no sea una decisión fácil para la administración porque definitivamente requiere contratar nuevas personas y obligar a su equipo actual a aprender y controlar nuevas habilidades.
Obtén más videos gratis – Suscríbete ➜ ZaranTech
Para obtener más información, consulte esto: https://goo.gl/myAeT3