Négocier des objectifs de performances réalistes

Effectué
L’expérience utilisateur prévue est définie, et il existe une stratégie pour développer un benchmark et mesurer des cibles par rapport aux exigences métier prédéfinies.

Du point de vue des performances, il est idéal d’avoir des objectifs de performances bien définis pour démarrer votre processus de conception. Pour définir ces objectifs, vous devez avoir une bonne compréhension des exigences métier et de la qualité prévue du service que la charge de travail doit fournir. Définissez les attentes en collaboration avec les parties prenantes de l’entreprise. Au lieu de se concentrer uniquement sur les métriques techniques, déterminez les effets acceptables sur l’expérience utilisateur pour les flux clés.

Il y a une dépendance circulaire. Vous ne pouvez pas mesurer ce que vous n’avez pas défini et vous ne pouvez pas définir sans mesure. Par conséquent, il est également important de mesurer les performances de la charge de travail jusqu’à ce que vous obteniez une définition satisfaisante du seuil acceptable avec une convention collective.

Il existe une corrélation forte entre les objectifs de performances et de fiabilité, qui permettent de déterminer la qualité du service en termes de performances, de disponibilité et de résilience. Sans définition claire, il est difficile de mesurer, d’alerter et de tester les performances. Après avoir établi les cibles et identifié des nombres réels via des tests au fil du temps, vous pouvez implémenter l’automatisation pour les tests continus sur ces cibles.

Respectez les bonnes pratiques de définition des cibles au niveau de la macro, même si elles sont approximatives ou comprises dans une plage.

Exemple de scénario

Contoso Bike est une marque de vélos de consommation directe dans le États-Unis. Leur équipe de développement a commencé à travailler sur la création d’une application pour prendre en charge l’offre de service de réparation de vélos mobiles planifiée de Contoso. L’application est actuellement en phase de preuve de concept. Les techniciens utiliseront une application mobile pour gérer leurs horaires et leurs commandes de travail, ainsi que pour prendre des paiements. Un site web sera utilisé pour que les clients planifient le service. L’application web, l’application mobile et l’API back-end sont susceptibles d’être hébergées sur Azure App Service.

Préparer la négociation des objectifs de performance

Préparez-vous à une négociation efficace en comprenant les concepts techniques, en explorant les possibilités de conception avec l’infrastructure disponible et en utilisant les résultats de l’expérimentation concrète, le cas échéant. Utilisez des données historiques pour obtenir une visibilité sur les modèles d’utilisation et les goulots d’étranglement. Apportez des insights à partir de facteurs externes, tels que l’entrée de l’analyse du marché, des experts et des normes du secteur.

Vous pouvez prendre des décisions éclairées en fonction d’insights pratiques.

Les objectifs de performance sont axés sur l’expérience utilisateur basée sur ce qui est réalisable, les meilleures pratiques du secteur et les tendances actuelles du marché.

Problématique de Contoso

  • Dans les discussions sur l’application avec les parties prenantes de l’entreprise, les performances n’ont pas encore été abordées.
  • L’équipe de développement est nouvelle pour Azure et n’a donc pas connaissance des performances et des fonctionnalités de mise à l’échelle de la plateforme.
  • Sans aide des parties prenantes et des connaissances pratiques sur ce qui est possible, l’équipe s’inquiète qu’elle devra déployer l’infrastructure pour les tests uniquement pour reconstruire ultérieurement.
  • L’équipe s’inquiète également du fait que personne ne sera prêt à parler des objectifs de performance réalistes lorsqu’ils se rencontrent ensuite.

Application de l’approche et résultats

  • Les analystes et développeurs d’entreprises Contoso discutent de leurs préoccupations et présentent un plan : Les analystes d’entreprise recherchent les attentes en matière de performances grâce à l’analyse concurrentielle et à l’interrogation informelle, et l’équipe de développement recherche les capacités et options d’Azure pour différents niveaux tarifaires.
  • Les équipes se regroupent avec les parties prenantes de l’entreprise qui apportent les données qu’elles ont compilées et utilisent les données comme fondement de leurs négociations sur les objectifs de performance. Grâce à des discussions sur les fonctionnalités de performances potentielles et les coûts associés, toutes les parties se sentent bien sur l’utilisation d’App Services pour la charge de travail.

Négocier efficacement les objectifs de performance

Collaborez avec les propriétaires d’entreprises pour comprendre les promesses des utilisateurs, en termes de qualité et de conformité réglementaire, le cas échéant. Maintenez une perspective large et évitez de vous plonger dans des détails granulaires à ce stade. Soyez explicite sur ce qui représente des performances acceptables, basées sur les investissements, et comprendre le contexte commercial et la croissance prévue.

En adoptant cette approche, vous éviterez de faire des hypothèses qui peuvent ne pas s’aligner sur les objectifs métier. Elle favorise également la clarté et la motivation au sein de l’équipe de charge de travail.

Le fait d’avoir un contexte métier sur les exigences fonctionnelles et non fonctionnelles peut révéler des modifications de conception dans d’autres piliers Azure Well-Architected et vous aider à faire des compromis éclairés.

La définition des paramètres dès le début permet d’éviter les coûts associés à des refontes de solutions potentielles ultérieurement ; il vous permet de vous assurer que les cibles de performances couvrent les projections futures, afin de pouvoir aligner les efforts actuels sur les objectifs à long terme.

Problématique de Contoso

  • L’équipe d’architecture a des idées approximatives de ce qui pourrait être acceptable, mais pas encore de spécificités. Les architectes estiment généralement qu’ils devraient être en mesure d’éviter de retravailler avec leur choix de plateforme d’application, mais ils se sentiraient plus confiants avec un peu plus de spécificité que ce qu’ils ont obtenu jusqu’à présent.
  • Jusqu’à ce stade, les discussions sur les performances ont été vagues, avec des déclarations telles que « Le site web doit être rapide ».
  • Sans un peu plus de spécificité, les architectes s’inquiètent qu’ils peuvent sur-ingénieur la conception pour les performances, ou faire face à des retards qui poussent la mise en production.

Application de l’approche et résultats

  • Les partenaires commerciaux et l’équipe technique se réunissent pour obtenir un consensus sur des objectifs généraux mais réalistes et certaines limites absolues qui doivent être évitées. Avec ces éléments, les architectes peuvent faire des preuves aux concepts dans le cadre de leur conception initiale pour obtenir un large accord sur la plateforme d’application, et présenter quelques résultats pour les performances et la tarification.
  • L’un des résultats de cette réunion est de savoir que Contoso Bike prévoit de fonctionner uniquement dans le sud-ouest États-Unis pour la première année, mais s’étendra à l’échelle nationale en deux ans. Ces informations seront considérées dans la conception.

Conception avec un focus centré sur le flux

Identifiez les flux de charge de travail et hiérarchiser les flux dans le diagramme architectural. Définissez la tolérance de performances de chaque flux comme une plage allant de l’aspiration aux performances inacceptables. Évaluez les points d’entrée et de sortie pour chaque flux, compte tenu de la criticité du chemin, de la fréquence d’utilisation et de l’intensité architecturale.

En hiérarchisant les flux, vous pouvez concentrer vos ressources sur les domaines critiques qui ont le plus d’effets sur les résultats des utilisateurs et des entreprises.

En décomposant le système en ses parties et ses dépendances, vous comprenez la fonction et l’influence de chaque composant sur les performances. Vous êtes également conscient des problèmes potentiels.

Il permet d’établir une base de référence de performances et une optimisation de lecteur.

Problématique de Contoso

  • Jusqu’à présent, l’équipe technique a travaillé avec les parties prenantes pour identifier les objectifs de performance de haut niveau, mais elle n’a pas encore porté sur les flux individuels. Pour que l’équipe de conception puisse approfondir les flux, comme le localisateur de services et les flux de paiement, il devra comprendre les exigences de ces flux.
  • Sans ces exigences spécifiques, la conception risque d’allouer des ressources pour les flux clés ou de surallouer les ressources pour les flux de priorité inférieure.

Application de l’approche et résultats

  • Après avoir examiné les flux utilisateur avec l’entreprise, l’équipe d’architecture a désormais des cibles très spécifiques documentées pour chaque flux. La décomposition de la charge de travail prend désormais en compte la plage d’aspiration à inacceptable par flux.
  • Les architectes s’efforceront d’atteindre des cibles ambitieuses avec leur conception afin de permettre au système de se développer au fil du temps avec des fonctionnalités supplémentaires, tout en compromettant un certain degré de maintenir les coûts et d’autres exigences non fonctionnelles sous contrôle.
  • L’équipe est en mesure d’effectuer la conception autour des objectifs qui ont été convenus et maintenant l’équipe d’implémentation sera chargée de s’assurer que ces limites sont respectées et soulèvent des préoccupations si elles ne peuvent pas être obtenues avec la conception à partir de laquelle ils travaillent.

Contrôle de vos connaissances

1.

Pourquoi l’équipe technique de Contoso a-t-elle besoin de rechercher des fonctionnalités de performances dans Azure ?

2.

Parmi les éléments suivants, lequel est un exemple des types de points que vous devez couvrir dans une négociation cible de performances ?

3.

Vrai ou faux : Les cibles de performances doivent être contextualisées en termes de flux de charge de travail, et non de ressources individuelles.