Comment combiner l’AIOps avec ses pratiques DevOps ?

  • facebook
  • linkedin
Comment combiner l’AIOps avec ses pratiques DevOps ?

Dans le DevOps, l’orchestration et la surveillance (monitoring) du développement continu sont cruciales, et certains rôles opérationnels deviennent difficiles à tenir tant les volumes de données à analyser ne cessent d’augmenter. Un analyste de données (data analyst) pratique de plus en plus l’intelligence artificielle pour prendre en charge et automatiser certaines opérations informatiques, surtout en cas de recherche de données en temps réel. Cette pratique est devenue un passage quasi obligatoire depuis l’avènement des machines virtuelles suivi des microservices et de la logique éphémère faisant suite à la transformation numérique (ou transformation digitale). Beaucoup trop de données sont générées, au point que les humains seuls ne peuvent plus y faire face. C’est alors qu’entrent en jeu les opérations dirigées par l’IA : l’intelligence artificielle pour les opérations informatiques ou AIOps.

En combinant AIOps et DevOps, les services de développement et d’opérations informatiques sont capables de réelles prouesses et, notamment, d’accroître la productivité et de résoudre rapidement les problèmes les plus complexes tout en maintenant actifs les services de leurs programmes. Voyons ensemble comment combiner l’AIOps avec des pratiques DevOps.

Définitions d'AIOps et DevOps

Qu'est-ce que l'AIOps ?

Pour résumer en une phrase, l’AIOps est l’application de l’intelligence artificielle pour améliorer les opérations et traitements informatiques.

Le terme AIOps est l’acronyme anglais pour Artificial Intelligence Operations Systems, qui se traduit en français par « Intelligence artificielle pour les opérations informatiques ». Le nom et le concept technique ont été initiés en 2017 par Gartner, une entreprise américaine de conseil et de recherche. L’AIOps est la nouvelle génération pour analyser les données collectées et les opérations informatiques. L’emploi de l’intelligence artificielle IA est utile pour les analyses avancées et automatiques des énormes masses de données réseau et données machine. Ceci dans le but d’une analyse en temps réel les problèmes touchant les performances, voire de les prévenir (prédiction des incidents). L’AIOps permet aussi aux équipes IT d’accélérer et d’automatiser de nombreux processus, surtout ceux répétitifs. Pour tout ceci, l’intelligence artificielle des opérations informatiques utilise les mégadonnées (Big Data) et l’apprentissage automatique (machine learning ML). Big Data et ML constituent par ailleurs la plateforme AIOps.

L’AIOps effectue plusieurs opérations basées sur cinq types d’algorithme différents :

  • La sélection des données. Collecter et agréger d’énormes volumes de données croissantes, souvent parasites, avant de les analyser pour en filtrer les fonctionnalités de données indiquant un problème.

  • La découverte de modèles prédictifs. Chercher des liens et des relations entre les éléments de données sélectionnés, avec une approche logique et intégrée, pour des analyses de données plus approfondies.
  • La déduction. Diagnostiquer la cause profonde et cachée des incidents, identifier les problèmes, surtout les récurrents, puis résoudre automatiquement les problèmes ou les signaler aux services informatiques.
  • La collaboration. Informer les opérateurs et les équipes concernés, améliorer l’interaction entre eux et conserver des données d’évènements susceptibles d’accélérer la découverte de pannes similaires à l’avenir.
  • L’automatisation. Rendre les outils d’analyse plus précis et rapides en automatisant autant que possible la réponse et la correction.

Qu'est-ce que le DevOps ?

Pour faire court, le DevOps permet une livraison plus rapide de logiciels avec une évolution constante grâce au regroupement des équipes de développement (Dev) et des opérations informatiques (Ops).

Ce qui importe le plus dans cette méthode de développement est l’adoption d’une philosophie de travail. Les équipes de développement et les autres équipes IT opérationnelles travaillent alors en coordination pour la mise en œuvre d’une nouvelle gestion des opérations. Cela diffère donc avec la traditionnelle séparation des métiers. En d’autres termes, le DevOps est la fusion de personnes, de technologies et de processus dans le but d’apporter toujours plus de valeur aux clients.

Le DevOps implique de ce fait plus de flexibilité et d’agilité. La méthode Agile est par conséquent naturellement sollicitée en DevOps. Puis, au-delà de cela, cette méthode de travail met l’accent sur l’autonomisation, la communication et la collaboration entre les équipes, mais aussi l’automatisation technique. Les nouvelles technologies que sont l’IA et le machine learning ont intégré les processus de développement au fur et à mesure des besoins grandissants.

Pourquoi combiner AIOps et DevOps ?

L’intérêt de la combinaison entre AIOps et DevOps s’explique principalement par le fait que tous les deux partagent plusieurs objectifs dont le fait de résoudre les problèmes découverts durant le développement et la livraison continue. On peut même dire que la combinaison des nouvelles technologies IA et machine learning avec la philosophie DevOps est naturelle.

Le DevOps implique, en effet, l’utilisation de nouvelles architectures de microservices qui accroissent la complexité des opérations. Faire appel uniquement à des humains pour les réaliser signifierait ralentir tout le processus. Or, l’IA et le machine learning sont des technologies parfaites pour ces processus répétitifs. Utiliser ces nouvelles technologies devient donc naturel.

L’autre raison de combiner AIOps et DevOps tient en l’avalanche de données générées par Internet et l’Internet des objets connectés (IOT). Le Big Data est une véritable boule de neige qui grossit chaque jour. Les capacités humaines, seules, ne peuvent pas gérer les mégadonnées. L’utilisation d’une intelligence artificielle devient encore une fois naturelle. Elle permet par ailleurs de répondre à des besoins en temps réel et même de procéder à une analyse prédictive.

Les avantages de combiner AIOps et DevOps

Avec l’avènement de l’automatisation, les SRE (ingénierie de la fiabilité des sites) et développeurs peuvent augmenter leur vitesse et améliorer leur collaboration. Ceci permettant d’économiser du temps et des ressources, et par conséquent la réduction des coûts. Cet avantage si précieux est accompagné par d’autres :

  • D’un côté, les équipes informatiques DevOps mènent le développement à la production et au déploiement. De l’autre, l’AIOps aide les équipes à réagir automatiquement aux changements dans le fonctionnement de l’installation de production. La plateforme AIOps permet ainsi l’accélération du temps moyen de résolution.
  • L’apprentissage automatique est une aide pour détecter les anomalies et pour prédire les problèmes de performance. C’est le passage vers une gestion proactive et prédictive, grâce à l’amélioration continue des solutions AIOps.
  • L’AIOps fournit des conseils ciblés sur les domaines sur lesquels les équipes DevOps doivent concentrer leurs efforts pour améliorer le flux de travail et prendre les bonnes décisions. Les équipes d’opérations IT sont modernisées grâce à une efficacité accrue des opérations.
L’AIOps contribue à l’amélioration de la collaboration entre équipes informatiques, mais aussi entre le service informatique et les autres groupes de travail de l’entreprise. Ceci grâce notamment à l’utilisation de rapports et de tableaux de bord adaptés.

Comment combiner l'AIOps et le DevOps ?

Avant de chercher à combiner l’AIOps au DevOps, il est important d’adopter la bonne posture : l’approche incrémentale. Commencez donc par poser les bases, puis peu à peu les briques, car l’exploitation de l’AIOps révèle tout son potentiel seulement sous certaines conditions. La première étant bien entendu la parfaite intégration de la philosophie DevOps. Intégrer de l’intelligence artificielle dans une méthode mal maîtrisée peut avoir des répercussions négatives. Ensuite :

  • Apprenez à assimiler les données disparates : données machines et métriques non structurées, données relationnelles (bases de données). Vous pourrez alors obtenir une vue d’ensemble (perspective holistique) au-delà des structures traditionnelles par segmentation ou en silo. Mais là encore, faites les choses petit à petit : compréhension basique de l’ensemble avant d’utiliser des algorithmes de clustering.     
  • Prenez en compte un maximum de types de données issues des réseaux sociaux, des transactions, des logs, des textes, de la métrique, etc. Ceci dans le but de comprendre les problèmes du passé, mieux les analyser et pouvoir faire ensuite des prédictions. En abordant les solutions de cette manière, vous utiliserez à terme des plateformes AIOps prenant en compte plusieurs sources de données et obtiendrez de meilleurs résultats.
  • Détectez les processus informatiques qui vous font perdre le plus de temps. Collaborez avec vos équipes informatiques pour cela, surtout pour déterminer les tâches les plus répétitives. Vous gagnerez un temps précieux, vous concentrerez sur des tâches essentielles et obtiendrez une meilleure expérience-client.
  • Intégrez l’AIOps au fur et à mesure dans votre DevOps, à commencer par de petits problèmes réellement prioritaires. Solidifiez vos bases avec une première plateforme AIOps. Accoutumez-vous aux résultats de tendances et motifs. Devenez proactif dans la résolution de problèmes. Puis, faites appel au machine learning pour analyser les causes profondes et devenir prédictif. Cette approche incrémentale vous aidera à vous familiariser avec l’AIOps tout en prenant confiance.

 

Les défis liés à l'intégration de l'AIOps dans le DevOps

Toute évolution implique des défis à relever et l’intégration de l’AIOps dans le DevOps n’échappe pas à la règle. Le DevOps lui-même peut entraîner des défis. Consultez notre article 14 challenges auxquels les DevOps font face en 2022. Les défis de l’intégration de l’AIOps dans le DevOps :



  • Les nombreux avantages de l’intelligence artificielle pour les opérations informatiques transforment les rôles et les responsabilités des équipes informatiques. Les employés peuvent y voir une menace puisqu’ils peuvent penser devoir intégrer d’autres postes, voire perdre leur emploi.
  • La bonne compréhension de l’AIOps est nécessaire pour parfaitement réussir l’automatisation des processus. Les outils AIOps ne sont pas capables de tout gérer tout seuls. Le concours humain est obligatoire et celui-ci doit comprendre parfaitement le fonctionnement.
  • Se familiariser avec le cloud computing et les services qu’il peut fournir. En effet, cet outil peut vite devenir indispensable, car l’intelligence artificielle demande des ressources informatiques que vous ne disposez peut-être pas. Et investir dans des systèmes informatiques si performants est rarement intéressant financièrement quand on compare aux services de cloud computin

Si vous êtes un professionnel du cloud en DevOps et que vous souhaitez participer à des projets passionnant au sein d’entreprises en pleine transformation digitale, contactez le service recrutement d’Ozitem !