Mesure DevOps : systèmes de surveillance pour des décisions commerciales éclairées

La surveillance consiste à collecter, analyser et utiliser des informations pour suivre les applications et l'infrastructure afin d'orienter les décisions commerciales. Fonction essentielle, la surveillance vous donne un aperçu de vos systèmes et de vos tâches. Si elle est mise en œuvre correctement, la surveillance facilite également une rétroaction rapide qui vous permet de rechercher et de résoudre rapidement les problèmes au début du cycle de développement des logiciels.

La surveillance vous aide également à communiquer des informations sur vos systèmes à des personnes appartenant à d'autres domaines du pipeline de développement et de diffusion de logiciels, ainsi qu'à d'autres secteurs de l'entreprise. Les connaissances acquises en aval des opérations peuvent être intégrées aux équipes en amont, telles que le développement et la gestion des produits. Par exemple, les connaissances acquises grâce à l'utilisation d'une application hautement évolutive ayant recours à une base de données NoSQL en tant que data store peuvent constituer des informations précieuses pour les développeurs lors de la création d'une application similaire.

Ce transfert de connaissances permet aux équipes d'identifier rapidement les apprentissages, qu'ils résultent d'un problème de production, d'une erreur de déploiement ou des habitudes d'utilisation de vos clients. Vous pouvez ensuite partager ces connaissances dans votre organisation pour stimuler l'amélioration du travail des équipes et des systèmes.

Comment mettre en œuvre la surveillance

Les éléments suivants sont essentiels à la mise en œuvre d'une surveillance efficace :

  • Collecter les données dans des domaines clés de la chaîne de valeur, en incluant les performances et l'infrastructure des applications
  • Utiliser les données collectées pour prendre des décisions commerciales

Collecter les données

Pour collecter les données plus efficacement, vous devez mettre en œuvre des solutions de surveillance, en tant que services internes ou gérés, qui offrent une visibilité sur les tâches de développement, les tests, le contrôle qualité et les opérations informatiques. Assurez-vous de choisir des métriques appropriées pour la fonction et pour votre entreprise. Pour une discussion sur les métriques et les mesures dans DevOps, consultez le livre blanc (PDF) du forum DevOps Enterprise 2015.

Utiliser les données pour prendre des décisions commerciales

Lorsque vous transformez et visualisez les données collectées, vous les rendez accessibles à différentes audiences pour les aider à prendre des décisions. Par exemple, vous souhaiterez peut-être partager des données d'opérations en amont. Vous pouvez également intégrer ces données, de manière appropriée, dans des rapports et des présentations, et les utiliser lors de réunions pour prendre des décisions commerciales éclairées. Dans ce cas, de manière appropriée signifie "de manière pertinente, en temps opportun, en utilisant une méthode précise et facile à comprendre".

Lors de ces réunions, veillez également à fournir le contexte afin d'aider ceux qui ne connaissent pas bien les données à comprendre comment elles se rapportent à la discussion et comment elles peuvent éclairer les décisions à prendre. Par exemple, vous voudrez peut-être savoir comment répondre aux questions suivantes :

  • Ces valeurs sont-elles relativement élevées ou faibles ?
  • Sont-elles des valeurs attendues ?
  • Prévoyez-vous des changements ?
  • En quoi ces données sont-elles différentes des rapports historiques ?
  • Votre technologie ou votre infrastructure a-t-elle eu une incidence sur les chiffres de manière intéressante ou non évidente ?

Problèmes courants liés à la surveillance

Les problèmes suivants sont fréquents lors de la surveillance des systèmes :

  • Surveillance réactive : par exemple, vous n'êtes alerté que lorsque le système tombe en panne, mais vous n'utilisez pas les données de surveillance pour vous alerter lorsque le système approche des seuils critiques.

  • Surveillance dont le champ d'application est limité : par exemple, vous surveillez un ou deux domaines plutôt que le pipeline complet de développement et de diffusion de logiciels. Cette surveillance limitée, mise en évidence par les métriques, cible uniquement les zones mesurées qui ne sont peut-être pas les zones optimales à surveiller.

  • Surveillance ciblée sur les optimisations locales : par exemple, vous ciblez la réduction du temps de réponse pour les besoins en stockage d'un service sans évaluer si l'infrastructure plus large pourrait également bénéficier de la même amélioration.

  • Surveillance totale : en collectant les données et en créant des rapports sur tous les éléments de votre système, vous risquez de générer une surabondance d'alertes et de données. En adoptant une approche réfléchie de la surveillance, vous pouvez concentrer l'attention sur des domaines clés.

Méthodes pour améliorer la surveillance

Pour améliorer l'efficacité de votre surveillance, nous vous recommandons de concentrer vos efforts sur deux domaines principaux :

  1. Collecter les données dans des domaines clés de la chaîne de valeur

    En analysant les données que vous collectez et en en déterminant les lacunes, vous pouvez vous assurer de collecter les données appropriées pour votre organisation.

  2. Utiliser les données collectées pour prendre des décisions commerciales

    Les données que vous collectez doivent générer de la valeur pour l'ensemble de l'organisation. De la même manière, les mesures que vous sélectionnez doivent être pertinentes pour votre organisation. Des données pertinentes peuvent être utilisées par de nombreuses équipes, de l'équipe DevOps à l'équipe Finance.

    Il est également important de trouver le bon support pour afficher les informations de surveillance. Différentes utilisations de l'information exigent différents choix de présentation. Les tableaux de bord en temps réel peuvent être le support le plus utile pour l'équipe DevOps, tandis que les rapports de gestion générés régulièrement peuvent s'avérer utiles pour les métriques mesurées sur une longue période.

    Le plus important est de s'assurer que les données sont disponibles, partagées et utilisées pour orienter les décisions. Si une feuille de calcul partagée est le support idéal pour commencer, utilisez-en une. Vous pouvez ensuite migrer vers des tableaux de bord plus élaborés ultérieurement. Ne laissez pas la perfection être l'ennemi du bien.

Méthodes pour mesurer la surveillance

Une surveillance efficace permet d'améliorer les performances en matière de développement et de diffusion de logiciels. Toutefois, il peut être difficile de mesurer l'efficacité de la surveillance dans les systèmes. Il est possible de mesurer automatiquement la quantité de données collectées sur vos systèmes et les types de données collectées ; cependant, il est plus difficile de savoir si ces données sont utilisées ou à quel endroit elles sont utilisées.

Pour vous aider à évaluer l'efficacité de la surveillance dans votre organisation, déterminez dans quelle mesure les personnes sont en accord ou en désaccord avec les affirmations suivantes :

  • Les données des outils de surveillance des performances des applications sont utilisées pour prendre des décisions commerciales.
  • Les données des outils de surveillance de l'infrastructure sont utilisées pour prendre des décisions commerciales.

Étapes suivantes