¿Cómo se usa el aprendizaje automático en DevOps?

Hay mucho entusiasmo en la comunidad de IT Ops y DevOps en torno al uso de ML & AI para resolver problemas de operaciones en todos los ámbitos.

El mundo del uso de herramientas estáticas para implementaciones, aprovisionamiento, empaquetado, monitoreo, APM y administración de registros habrá terminado. Con la adopción de Docker, el enfoque impulsado por los microservicios, la nube y la API para implementar aplicaciones a escala y garantizar una alta confiabilidad, requiere una toma diferente. Por lo tanto, es importante utilizar las herramientas inteligentes para la gestión de la nube en lugar de intentar reinventar la rueda cada vez. Creo que con el aumento de ML e IA, veremos más proveedores de herramientas DevOps que incorporan inteligencia en sus ofertas para simplificar aún más el trabajo de los ingenieros.

PD: he escrito una publicación de blog que cubre el impacto de AIOps a principios de este año – Abrace las operaciones de TI algorítmicas en 2017 – Vijay Rayapati – Medium

Que pregunta tan interesante. ¡Gracias por hacerme pensar!

Análisis de registro

El uso más conocido del aprendizaje automático en DevOps es el análisis de registros. Cuando tiene un millón de servidores que ejecutan mil millones de aplicaciones, todas producen miles de millones de registros, tiene sentido emplear aprendizaje automático y big data para analizarlos y encontrar patrones interesantes. Puede usar el aprendizaje supervisado y los datos de entrenamiento de los errores y advertencias conocidas para encontrar errores y advertencias similares (pero no iguales, para eso es grep) que de otro modo se perdería. También puede usar el aprendizaje no supervisado para encontrar patrones interesantes, grupos de comportamiento que nunca antes han ocurrido y otros patrones interesantes para un analista humano. Estos se pueden utilizar para ajustar aún más su seguridad, rendimiento, etc.

Predicción de falla del servidor

Un “servidor” se había convertido en un concepto en gran parte abstracto que en este punto probablemente se puede reducir a un contenedor que puede ejecutar un servicio. No importa cuál sea su definición particular, la organización hoy en día administra una cantidad enorme de servidores y, por lo tanto, la tasa de fallas entre los servidores también es bastante alta. Una vez más, basado en el pasado (entrenamiento), el aprendizaje automático de datos puede emplearse para predecir fallas futuras del servidor. Esto ayuda a aprovisionar servidores antes de que ocurra una falla y a reducir o prevenir el tiempo de inactividad.

Predecir la falla de la aplicación

Suponiendo que las fallas de su aplicación se registren, eso es un tesoro de datos que esperan ser explotados. Utilizando eso como datos de capacitación, puede escribir un modelo para predecir con precisión las fallas futuras y tal vez incluso identificar problemas y tendencias en sus aplicaciones que necesitan reparaciones que el control de calidad tradicional no podrá identificar. Esto realmente me da una idea para un modelo y un producto.

Previsión de necesidades de infraestructura

Pronosticar las necesidades de infraestructura es un arte tanto como una ciencia. Ya existen metodologías específicas para tales necesidades. Sin embargo, su precisión puede mejorar en gran medida mediante el aprendizaje automático. Además, el aprendizaje automático es un proceso que mejora continuamente, por lo que su pronóstico será continuo y más actualizado. Por ejemplo, una regresión simple producirá buenos resultados para pronosticar, por ejemplo, las necesidades de espacio en disco.

Predecir quién llegará tarde a las reuniones

Eso es algo que acabo de inventar. Basado en datos pasados. Pista: soy yo. 🙂

Automatizar tareas rutinarias y repetibles es una de las características definitorias de la cultura DevOps. A medida que mejora la inteligencia artificial (IA) y el aprendizaje automático, aumenta el alcance y la complejidad de las tareas que pueden automatizarse, lo que eleva el listón para todos los DevOps.

Con el aprendizaje automático, los humanos detrás de DevOps se liberarán de tareas aún más mundanas y podrán centrarse en esfuerzos más innovadores y creativos.

Con IA y aprendizaje automático, la automatización puede comenzar a identificarse y mejorarse. Cuando la automatización puede identificar cuellos de botella e ineficiencias y adaptarse automáticamente para superar esos obstáculos, el aporte humano y la interacción pueden volverse casi obsoletos.

Pocos ejemplos de aplicación son:

Predicción de falla del servidor

Basado en el pasado (entrenamiento), el aprendizaje automático de datos puede emplearse para predecir fallas futuras del servidor. Esto ayuda a aprovisionar servidores antes de que ocurra una falla y a reducir o prevenir el tiempo de inactividad.

Predecir la falla de la aplicación

De manera similar a la falla del servidor, se puede emplear el aprendizaje automático de datos (capacitación) pasado para predecir la falla futura de la aplicación.

Análisis de registro

El uso más conocido del aprendizaje automático en DevOps es el análisis de registros. Al analizar los registros, las máquinas pueden identificar de manera inteligente patrones y tomar decisiones. Estos se pueden utilizar para ajustar aún más su seguridad, rendimiento, etc.

Erradicar errores humanos

Las ganancias de la máquina ayudarán a erradicar los errores humanos. Sin embargo, como seres humanos podríamos cometer pocos errores durante las implementaciones o configuraciones, con el aprendizaje automático podemos responder a implementaciones libres de errores y fallas.

Dado que la automatización es en gran parte de lo que trata esta profesión, no puedo evitar estar un poco decepcionado con la lenta adopción del aprendizaje automático para las prácticas de DevOps.

Aquí hay un par de ejemplos de donde el aprendizaje automático es (o creo que pronto será) muy utilizado:

Mantener el motor de reglas de alerta

Este es un trabajo continuo y repetitivo, y la metodología es muy sencilla (actuar sobre falsas alarmas y detecciones perdidas). Para un humano, esto significa agotamiento rápido. Para el aprendizaje automático, este es un problema clásico.

Priorizar alertas

Llegar rápidamente a docenas de alertas con la misma severidad (¡crítico, por supuesto!) Es casi inevitable cuando mantiene manualmente sus reglas de alerta. ¿Cómo priorizas? tiene mucho sentido priorizar en función de características como el comportamiento pasado, la magnitud de la alerta actual, cuántas otras alertas (y de qué fuente) se disparan simultáneamente … obviamente, un humano no puede hacer esto, pero nuevamente para el aprendizaje automático Este es un caso de uso común.

Análisis de causa raíz

Cuando algo se rompe, generalmente se dispararán muchas alertas. Determinar la correlación e incluso la causalidad entre las diferentes alertas puede ayudar no solo a agrupar problemas relacionados, sino también a distinguir la causa raíz de los síntomas. Esto a su vez mejora el tiempo total de resolución. Para determinar que dos alertas están relacionadas o incluso que una es la causa de la otra, puede utilizar técnicas de aprendizaje automático como la agrupación en clúster.

Acción recomendada

Se trata de aplicar algoritmos de recomendación a su sistema de tickets. Todos queremos ser capaces de mantener una base de conocimiento de problemas y soluciones, pero esto es difícil porque se espera que el humano observe la situación actual y luego presente una buena consulta que haga que la KB devuelva lo relevante incidentes pasados De hecho, ya nos hemos acostumbrado a experimentar el aprendizaje automático en sitios de soporte, donde obtenemos recomendaciones para preguntas similares cuando comenzamos a escribir las nuestras. El aprendizaje automático puede hacer magia al recomendar la resolución relevante.

—-

* Algunas otras respuestas ofrecen detección de anomalías, análisis de tendencias o análisis de secuencias (todo bajo títulos como predicción, pronóstico) como ejemplos para el aprendizaje automático. Creo que estos implican muy poco, si es que hay alguno, aprendizaje automático 🙂

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

“Entrega continua de software” de DevOps, es ” Estrategias de automatización” y con su capacidad de mantener una colaboración y comunicación bien equilibradas entre las unidades de “Desarrollo y Operativo” de su organización implicada, DevOps apunta a lograr mayores ganancias y mejores resultados de producción. Es un hecho comprobado que la implementación efectiva de las estrategias de DevOps colocará a la organización implicada muy por delante de sus respectivos competidores. Por lo tanto, la demanda de un ingeniero DevOps calificado está más en el sector corporativo actual. Pero en contraste con esta demanda, hay una escasez de ingenieros DevOps calificados. Por lo tanto, muchas organizaciones de primer nivel están dispuestas a pagar paquetes de pago extremadamente altos para los expertos DevOps mejor calificados.

Para hacer frente a esta gran demanda de los expertos de DevOps, muchos institutos están ofreciendo capacitación DevOps en Hyderabad . Entre todos esos institutos, Open source Technologies ha sido reconocido como el principal proveedor de la mejor capacitación orientada al trabajo en DevOps.

Por lo tanto, inscribirse en las tecnologías de código abierto seguramente garantizará el éxito en su carrera de DevOps.

Oportunidades laborales con capacitación DevOps:

  • Una persona experta en DevOps será bienvenida en cualquiera de las principales compañías multinacionales.
  • A medida que las inversiones en este campo son más, el crecimiento futuro de DevOps siempre mostrará una curva ascendente
  • Aumento de la demanda de personas con habilidades DevOps.
  • La máxima prioridad para muchas empresas multinacionales.
  • Crecimiento acelerado de la carrera.
  • Paquete de pago aumentado.

¿Cuál es la especialidad del Instituto DevOps de tecnologías de código abierto?

Open Source Technologies DevOps Training Institute En Hyderabad difiere de los otros institutos de capacitación en varias formas. Las especialidades de la capacitación DevOps de Open Source Technologies en Hyderabad incluyen

  • Tener a los ” Mejores Expertos de la Industria” como la ” Facultad de Capacitación DevOps”
  • Ofrece interacción con los ” expertos de la industria”
  • Mantiene los mejores recursos, incluida la “Infraestructura de laboratorio sofisticada”
  • “Sesiones de talleres regulares” bajo la supervisión de expertos de la industria
  • Asistencia de expertos en ” Preparación de currículums” y en “Programación de entrevistas”
  • Bien ” Estructura de tarifa de curso asequible”

Entonces, al inscribirse en las tecnologías de código abierto, se puede lograr el mejor entorno de aprendizaje y garantizar el éxito en su carrera profesional DevOps a través de su capacitación avanzada.

Módulos de aprendizaje de DevOps en tecnologías de código abierto:

La capacitación de DevOps en Hyderabad en Open Source Technologies proporcionará un conocimiento profundo sobre varios aspectos de DevOps que incluye

  • Adquiere habilidades en los conceptos básicos de DevOps, así como conocimientos de materias de nivel avanzado
  • Mejora el conocimiento en SDLC, Linux básico y secuencias de comandos, gestión de configuración de software, etc.
  • Comprende los conocimientos básicos del centro de datos y la nube, que es privado y público
  • Adquiere habilidades en la gestión del entorno de la nube, que es la provisión y configuración
  • Habilidades en monitoreo, descripción general de chef, componentes principales de chef, instalación y componentes de chef
  • Comprende el conocimiento en Introducción a los elementos esenciales del chef y el Chef gerente
  • Habilidades para probar libros de cocina y el uso de complementos
  • Sesiones de capacitación orientadas a proyectos basadas en la industria

Demostración gratuita de DevOps de Open Source Technologies:

Tecnologías de código abierto al; proporciona “Demo gratuita de DevOps en Hyderabad” cuyos objetivos incluyen

  • Sesiones interactivas con los mejores expertos de DevOps en tiempo real.
  • Explicar el papel de un ingeniero DevOps y proporcionar conocimiento sobre empleo y crecimiento profesional.
  • Información sobre las áreas donde se puede aplicar DevOps.
  • El alcance de las oportunidades profesionales con el curso DevOps.

Por lo tanto, inscribirse en el entrenamiento DevOps en Hyderabad en Open Source Technologies seguramente garantizará el éxito en la carrera de los aspirantes deseados. Por lo tanto, este es el momento adecuado para aprovechar esta oportunidad efectiva de mejora de carrera.

También brindamos capacitación en línea de DevOps.

Inscríbase ahora para aprovechar la demostración gratuita de DevOps.

10 maneras en que el aprendizaje automático puede optimizar DevOps

Las prácticas exitosas de DevOps generan grandes cantidades de datos, por lo que no es sorprendente que estos datos se puedan usar para cosas tales como agilizar los flujos de trabajo y la orquestación, el monitoreo en la producción y el diagnóstico de fallas u otros problemas.

El problema: demasiados datos. Los registros del servidor pueden ocupar varios cientos de megabytes por semana. Si el grupo está utilizando una herramienta de monitoreo, se pueden generar megabytes o incluso gigabytes de más datos en un corto período de tiempo.

Y demasiados datos tienen un resultado predecible: los equipos no miran directamente los datos, sino que establecen umbrales por los cuales se cree que un nivel particular de actividad es problemático. En otras palabras, incluso los equipos maduros de DevOps buscan excepciones, en lugar de profundizar en los datos que han recopilado.

Eso no debería ser una sorpresa. Incluso con las herramientas analíticas modernas, debe saber lo que está buscando antes de poder comenzar a darle sentido. Pero interpretar una gran cantidad de grandes conjuntos de datos, incluidos los generados por DevOps, es como la descripción de la pornografía de Potter Stewart: lo sabré cuando lo vea.

Tampoco es sorprendente que gran parte de los datos creados en los procesos DevOps envuelvan la implementación de la aplicación. La supervisión de una aplicación produce registros del servidor, mensajes de error, seguimientos de transacciones, con la frecuencia y la frecuencia que desee recopilar.

La única forma razonable de analizar estos datos y llegar a conclusiones en tiempo real es a través de la ayuda del aprendizaje automático. Entonces, ¿qué pueden hacer las aplicaciones de aprendizaje automático para ayudar con estas prácticas? Muchas cosas, como resultado.

Ya sea que compre una aplicación comercial o la construya usted mismo, aquí hay 10 formas de aplicar el aprendizaje automático para mejorar sus prácticas de DevOps.

Informe de calidad mundial 2017-18: el estado del control de calidad y las pruebas

1. Deja de mirar los umbrales y comienza a analizar tus datos

Debido a que hay tanta información, los equipos de DevOps rara vez ven y analizan todo el conjunto de datos. En cambio, establecen umbrales, como “X medidas por encima de una marca de agua definida”, como condición para la acción.

En efecto, están descartando la gran mayoría de los datos que recopilan y centrándose en los valores atípicos. El problema con ese enfoque es que los valores atípicos pueden alertar, pero no informan.

Las aplicaciones de aprendizaje automático pueden hacer más. Yuu puede entrenarlos en todos los datos, y una vez en producción, esas aplicaciones pueden ver todo lo que viene para determinar una conclusión. Esto ayudará con el análisis predictivo.

2. Busque tendencias en lugar de fallas

Esto se sigue desde arriba. Si entrena en todos los datos, su sistema de aprendizaje automático puede generar más que simplemente problemas que ya han ocurrido. En cambio, al observar las tendencias de datos por debajo de los niveles de umbral, los profesionales de DevOps pueden identificar tendencias a lo largo del tiempo que pueden ser significativas.

3. Analice y correlacione los conjuntos de datos cuando sea apropiado

Gran parte de sus datos son de series temporales y es fácil observar una sola variable a lo largo del tiempo. Pero muchas tendencias provienen de las interacciones de múltiples medidas. Por ejemplo, el tiempo de respuesta puede disminuir solo cuando muchas transacciones están haciendo lo mismo al mismo tiempo.

Estas tendencias son prácticamente imposibles de detectar a simple vista, o con análisis tradicionales. Pero es probable que las aplicaciones de aprendizaje automático debidamente capacitadas descubran correlaciones y tendencias que nunca encontrará utilizando los métodos tradicionales.

4. Mira tus métricas de desarrollo de una manera nueva

Con toda probabilidad, está recopilando datos sobre su velocidad de entrega, métricas de búsqueda / corrección de errores, además de datos generados a partir de su sistema de integración continua. Puede ser curioso, por ejemplo, ver si el número de integraciones se correlaciona con los errores encontrados. Las posibilidades de ver cualquier combinación de datos son enormes.

5. Proporcionar un contexto histórico para los datos.

Uno de los mayores problemas con DevOps es que parece que no aprendemos de nuestros errores. Incluso si tenemos una estrategia de retroalimentación continua, es probable que no tengamos mucho más que una wiki que describa los problemas que hemos encontrado y lo que hicimos para investigarlos. Con demasiada frecuencia, la respuesta es que reiniciamos nuestros servidores o reiniciamos la aplicación.

Los sistemas de aprendizaje automático pueden analizar los datos para mostrar claramente lo que sucedió durante el último día, semana, mes o año. Puede ver las tendencias estacionales o las tendencias diarias, y darnos una imagen de nuestra aplicación en cualquier momento.

Obtenga más videos gratis – Suscríbase ➜ https://goo.gl/5ZqDML‌

Mi equipo ha publicado recientemente la publicación sobre cómo preparar una tubería de DevOps para un proyecto basado en ML .

Hay dos tipos diferentes de aplicaciones:

“El aprendizaje automático a menudo amplía la funcionalidad de las aplicaciones existentes: recomendaciones en una tienda web, clasificación de enunciados en un bot de chat, etc. Esto significa que será parte del ciclo más grande de agregar nuevas características, corregir errores u otras razones para cambios frecuentes en código general

Uno de mis últimos proyectos fue construir un bot de productividad: ayudar a los trabajadores del conocimiento de la gran empresa a encontrar y ejecutar el proceso correcto. Tiene una gran cantidad de ingeniería de software: integración, monitoreo, reenviar el chat a la persona, varios componentes de aprendizaje automático, etc. El principal fue el reconocimiento de intenciones donde decidimos usar nuestros propios servicios en lugar de los servicios en línea (como Wit.ai, Language Understanding Intelligent Service, API.AI) porque estábamos usando el rol, la ubicación y más de una persona como características adicionales. Como cualquier proyecto ágil, nuestro objetivo era obtener una nueva funcionalidad de forma rápida y regular.

La aplicación estándar que gestiona este entorno de rápido movimiento se gestiona a través de la tubería de control de versiones, prueba, compilación y herramientas de implementación (ciclo CI / CD). En el mejor de los casos, significa un ciclo completamente automatizado; desde un ingeniero de software que envía el código al control central de la versión (por ejemplo, Construya mejor el software juntos), a través de la creación y prueba hasta la implementación en el entorno de producción.

Agregar el aprendizaje automático a este ciclo de vida trae nuevos desafíos y cambios en una tubería de DevOps ”.

La misión principal de DevOps es ayudar a los equipos a resolver diversos problemas de infraestructura, herramientas y canalizaciones de Tech Ops.

Por otro lado, como se mencionó en la revisión conceptual realizada por Forbes en noviembre de 2016, el análisis industrial ya no será impulsado solo por científicos de datos. Requiere una inversión en habilidades de DevOps.

Una de las rutinas diarias desafortunadas de un trabajo de Data Scientist es hacer un preprocesamiento de datos sin procesar. Por lo general, se traduce en los desafíos para

1. Obtenga todo tipo de datos necesarios de una variedad de fuentes

a. Fuentes de datos internos como ERP, CRM, sistemas POS o datos de plataformas de comercio electrónico en línea

si. Datos externos, como clima, días festivos, tendencias de Google, etc.

2. Extraer, transformar y cargar los datos.

a. Relacionar y unir las fuentes de datos

si. Agregar y transformar los datos.

3. Evite inconvenientes técnicos y de rendimiento cuando todo termine en “una gran mesa” al final

4. Facilite el aprendizaje automático continuo y la toma de decisiones en un marco empresarial listo

a. Utilice datos históricos para entrenar los modelos y algoritmos de aprendizaje automático

si. Utilice los datos actuales y actualizados para la toma de decisiones.

do. Exporte de nuevo las decisiones / recomendaciones resultantes para su revisión por parte de las partes interesadas del negocio, ya sea nuevamente al sistema ERP o algún otro almacén de datos.

5. Organizar la colaboración y el intercambio de datos / modelos dentro y fuera de los límites de los equipos.

Las habilidades de DevOps, así como los instrumentos efectivos, sin duda serán beneficiosos para los científicos de datos industriales, ya que pueden abordar los desafíos mencionados anteriormente de manera autoservicio.

Aquí hay una revisión sobre cómo las prácticas de ingeniería comprobadas y el proceso de ML no bien definido se unen mediante la herramienta DVC (Control de Versiones de Datos) y su potencial como instrumento Analítico DevOps: Control de Versión de Datos en el Paradigma de DevOps de Análisis

10 maneras en que el aprendizaje automático puede optimizar DevOps

  1. Deje de mirar los umbrales y comience a analizar sus datos.
  2. Busque tendencias en lugar de fallas.
  3. Analice y correlacione los conjuntos de datos cuando sea apropiado.
  4. Mire sus métricas de desarrollo de una manera nueva.
  5. Proporcionar un contexto histórico para los datos.
  6. Llegar a la causa raíz.
  7. Correlacione a través de diferentes herramientas de monitoreo.
  8. Determinar la eficiencia de la orquestación.
  9. Predecir una falla en un punto de tiempo definido.
  10. Ayuda a optimizar una métrica u objetivo específico.

Las aplicaciones exitosas de capacitación en línea de DevOps generan grandes cantidades de información, por lo que es predecible que estos datos se puedan usar para cosas tales como flujos de trabajo de diseño y orquestación, monitoreo en producción y detección de responsabilidades u otros problemas.

Aunque el término aprendizaje automático se usa ampliamente para describir muchas tecnologías. Y cómo lo he visto utilizado hoy en DevOps realmente equivale a estadísticas inteligentes. Las clases de usos han estado en monitoreo y análisis de registros. Empujando alertas e ideas para el equipo. Y en trineo curativo. Intentar resolver problemas comunes del sistema sin intervención. Un aprendizaje automático muy útil pero no el mismo utilizado en BigData o tecnologías de reconocimiento.

No soy un profesional en este tema, pero he encontrado este blog medio informativo sobre DevOps y Machine Learning, eche un vistazo:

Lenguaje universal

Aquí hay un video que explica el concepto de Machine Learnind y DevOps claramente:

More Interesting

¿Cuál es la filosofía de la matriz, la descomposición del tensor para encontrar la estructura latente?

¿Cuáles son las principales diferencias entre la regresión logística, la red neuronal y las SVM?

¿Cuál es una forma útil de clasificar los usos de las tecnologías de inteligencia artificial?

Antes de elegir y aplicar incluso el modelo de aprendizaje automático lineal más simple, ¿qué aspectos estadísticos de los datos debo considerar?

¿Cuáles serán los casos de uso de aprendizaje automático más grandes de 2017?

¿Cuál es la tecnología detrás de la aplicación Summly recién adquirida por Yahoo?

¿Los científicos de datos y el ingeniero de aprendizaje automático necesitan saber implementar algoritmos ML / DL desde cero o simplemente usar las bibliotecas existentes en producción?

¿Cuál es el potencial de las redes neuronales en la compresión de datos?

¿Cuáles son las buenas formas de combinar dos salidas de un clasificador?

¿Cuál puede ser un buen problema de investigación computacional para trabajar con el conjunto de datos de Wikipedia?

¿Cuál es la diferencia entre ML y NLP?

¿Qué es el filtrado colaborativo en términos simples?

¿Estudiar el aprendizaje automático y el aprendizaje profundo al mismo tiempo tendrá una buena o mala influencia en mi sistema de conocimiento?

¿Cuál es la mejor manera de encontrar el conjunto de patrones similares en datos de series de tiempo?

¿Cuál es la motivación de Google para el código abierto del modelo de TensorFlow para problemas ML / NLP como el resumen automático de texto?