vendredi, 19 avril 2024

Bonnes pratiques pour l’observabilité des devops

Crédit : Dreamstime

Mon tout premier article en 2005 portait sur la journalisation des applications et j’ai partagé 10 pratiques que j’espérais que mon groupe de développement suivrait.

Les implémentations devops d’aujourd’hui autour de l’observabilité sont plus sophistiquées et évolutives, mais plusieurs de mes recommandations restent pertinentes, en particulier la journalisation des identifiants de session, la spécification des détails d’emplacement du code et la vérification des journaux sont exemptes de données liées à la sécurité et à la confidentialité.

La structure des meilleures pratiques d’observabilité dans le processus de vie du développement logiciel est aujourd’hui cruciale, car de plus en plus d’applications offrent des expériences critiques pour les consommateurs et les membres du personnel.

Les équipes Devops ne doivent pas seulement se préoccuper d’un temps moyen beaucoup plus rapide pour résoudre des événements importants ; ils doivent s’assurer que les applications et les services sont observables pour améliorer en permanence la robustesse, la fiabilité et la facilité d’utilisation d’une expérience.

« L’exigence de solides pratiques devops n’a jamais été ressentie aussi fortement », déclare Arvind Jha, vice-président senior président, développement logiciel chez Newgen. « Avec les flux de travail numériques qui accélèrent l’activité et les options de libre-service pour les clients, les employés et les partenaires, les experts informatiques sont mis au défi de gérer, de conserver, de sécuriser et de maintenir la certification de milliers d’applications. »

Maîtriser le cloud complexe – applications natives et microservices avec observabilité

Les applications cloud natives d’aujourd’hui sont plus compliquées que les architectures d’applications à deux et trois niveaux de la dernière génération exécutées dans des centres de données. Une seule transaction peut traverser de nombreux microservices, interroger de nombreuses bases de données, se connecter à un logiciel tiers en tant que service et fonctionner sur plusieurs clouds.

Lorsque des erreurs d’application, une mauvaise efficacité et des problèmes de données affectent les expériences utilisateur, avoir centralisé et des détails significatifs pour trouver l’origine sont essentiels pour résoudre les problèmes beaucoup plus rapidement et résoudre les problèmes.

Quels sont les cas d’utilisation où de solides pratiques d’observabilité peuvent avoir un impact sur les opérations ?

  • Déterminer quels microservices et Les API déclenchent des goulots d’étranglement d’efficacité
  • Examiner les entrées des utilisateurs qui déclenchent des erreurs d’application
  • Tracer le parcours d’un consommateur pour déterminer où les utilisateurs rencontrent des difficultés
  • Identifier quand il y a une faille de sécurité et collecte d’informations judiciaires
  • Identifier la source des problèmes d’information à corriger grâce à une meilleure reconnaissance des données

Voici quatre meilleures pratiques d’observabilité pour les équipes devops qui créent et supportent des applications, micro services et bases de données.

Recherchez un partenariat avec l’entreprise pour optimiser la collecte d’informations

Enregistrer chaque charge utile JSON entre toutes les applications et tous les services peut sembler un excellent concept. Mais le fait d’avoir trop d’informations peut réduire la résolution des problèmes, rendre l’origine de la recherche complexe ou nécessiter des efforts coûteux en science des données pour déterminer les emplacements des problèmes.

Comment les groupes devops devraient-ils choisir les informations qu’il est très important de collecter et le temps nécessaire pour le maintenir ?

Anant Adya, vice-président exécutif d’Infosys Cobalt, suggère : « Les équipes de développement agiles doivent travailler en étroite collaboration avec les concepteurs et les groupes de parties prenantes lors de la gestion des outils d’observabilité devops pour garantir le positionnement sur les objectifs. Cela aidera les groupes empêchent la collecte et l’évaluation de charges d’informations qui ne servent pas une fonction spécifique ou ne conduisent pas à un résultat spécifique. »

La discussion avec les parties prenantes de l’organisation peut aider à développer une méthode et à identifier les activités des utilisateurs qui nécessitent des objectifs de niveau de service plus élevés . Les concepteurs doivent également comprendre quelles données sont sensibles et exclure ou exécuter le masquage des informations avant de les enregistrer dans des journaux, des bases de données ou des outils d’observabilité.

Anand Krishnan, responsable mondial des avant-ventes et des options chez Persistent Systems , conseille : « En matière d’observabilité, cela a à voir avec ce qu’il faut enregistrer, pas seulement quand et où. Il est important de rassembler diverses traces du parcours d’un consommateur à travers différents systèmes et applications et de les examiner dans un référentiel central. »

La centralisation des informations d’observabilité peut être intimidante pour les grandes organisations devops. Ils peuvent utiliser des outils de gestion de l’efficacité des applications (APM) et des plates-formes AIops telles que BigPanda, Datadog, Dynatrace, Moogsoft, New Relic, OpsRamp ou Splunk pour centraliser les données, associer les signaux et garder un œil sur l’efficacité.

Prashanth Samudrala, vice-président de la réussite client chez AutoRabit, partage plusieurs points de choix où les parties prenantes de l’entreprise et les responsables techniques peuvent fournir des informations importantes sur les outils et les informations d’observabilité.

Il déclare : « Les meilleures pratiques consistent à spécifier clairement les métriques et des objectifs centrés sur la qualité et les performances générales, en effectuant des analyses fréquentes de la dette technique pour comprendre les problèmes cruciaux et en faisant travailler le muscle analytique de l’équipe pour découvrir et s’améliorer continuellement. »

Allez au-delà de la résolution des événements de production

Les ingénieurs de fiabilité du site (SRE), les centres d’exploitation du réseau (NOC) et les équipes de développement utilisent les journaux d’application, les alertes des installations et d’autres données de télémétrie pour la gestion des incidents. Ils peuvent utiliser des outils APM, des plates-formes de gestion des services informatiques (ITSM), des capacités d’automatisation et des solutions AIops pour gérer les occurrences et effectuer une analyse d’origine.

Les équipes SRE et devops doivent être proactives et utiliser des données et des outils d’observabilité pour améliorer les applications tout en les établissant et en les vérifiant. Tomas Kratky, fondateur et PDG de Manta, déclare : « L’observabilité devient une partie de l’assurance qualité – le dernier kilomètre requis pour améliorer la détection des événements et simplifier sa résolution. »

Je suggère d’identifier les utilisateurs et les consommateurs pour l’observabilité données et outils. Les équipes auto-organisées doivent déclarer quels concepteurs, ingénieurs AQ, SRE et gestionnaires d’occurrences deviendront des professionnels dans l’utilisation des outils, fourniront des commentaires aux groupes de développement et seront les plus responsables de l’amélioration de la qualité lors du développement et de l’évaluation d’applications logicielles.

L’amélioration de l’observabilité devrait être une activité clé dans une méthode de test continue.

Une autre bonne pratique provient de Chris Cooney, défenseur des développeurs chez Coralogix. « Une méthode d’observabilité qui est devenue courante parmi les groupes très performants est l’observabilité complète, qui permet aux groupes d’éviter le silo de données », déclare-t-il. « Au lieu d’opter pour diverses informations d’observabilité, avec des journaux dans un système, des métriques dans un autre et des traces dans un troisième, les équipes restituent tout ensemble. »

Amélioration continue grâce à l’observabilité

Un groupe d’ingénieurs choisis peut avoir les tâches principales concernant la qualité des applications logicielles, mais ils auront besoin du groupe de développement complet pour conduire des améliorations constantes.

David Ben Shabat, vice-président de RD chez Quali, recommande, « les organisations devraient s’efforcer de créer ce que j’appellerais ‘la présence comme norme.’ Cela permet à votre groupe d’accueillir une culture du devoir de bout en bout et de se concentrer sur l’amélioration continue de votre produit. »

Une façon d’aborder l’obligation est de produire et de suivre une taxonomie et un format de message standardisés pour les journaux et autres informations d’observabilité. Les équipes d’avancement agiles doivent désigner un collègue pour examiner les journaux à chaque sprint et inclure des notifications pour les nouvelles conditions d’erreur. une efficacité réussie. »

Ashwin Rajeev, cofondateur et CTO d’Acceldata, convient que l’automatisation est essentielle pour générer des applications et des services observables. Il déclare : « Les options d’observabilité devops modernes s’intègrent aux outils CI/CD, évaluent toutes les sources de données pertinentes, utilisent l’automatisation pour fournir des informations exploitables et fournir des recommandations en temps réel. »

Coordonner les pratiques de suivi et d’observabilité

Historiquement, les outils de surveillance étaient plus susceptibles d’être instrumentés par les NOC ou l’ITSM et d’autres groupes d’opérations informatiques, tandis que les pratiques d’observabilité provenaient des développeurs souhaitant centraliser les fichiers journaux des applications et les utiliser pour résoudre des problèmes et résoudre les problèmes de performance.

Aujourd’hui, les équipes devops rassemblent ces capacités et établissent une approche holistique pour observer et suivre les parcours des consommateurs et les expériences des travailleurs.

Krishnan dit que l’unification des notifications et de la surveillance est une étape importante. « Auparavant, vous pouviez informer un ingénieur d’un problème système en envoyant un e-mail ou en effectuant un vidage mémoire. Aujourd’hui, il s’agit de l’intégrer à la communauté des développeurs et aux systèmes d’assistance à la production », explique-t-il.

Les équipes Devops souhaitent publier souvent et résoudre rapidement les problèmes de production. L’observabilité des achats aide à découvrir les problèmes avant qu’ils n’atteignent la production et fournit l’investigation pour découvrir les problèmes difficiles à trouver.

.

Toute l’actualité en temps réel, est sur L’Entrepreneur

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici