Partager via


Compromis entre performances et efficacité pour les charges de travail Power Platform

Une charge de travail qui atteint ses objectifs de performance sans surprovisionnement est efficace. Les stratégies clés pour l’efficacité des performances incluent l’utilisation appropriée des optimisations de code, des modèles de conception et de la planification des capacités. Des objectifs de performance clairs et des tests sous-tendent ce pilier.

Au cours de la phase de conception d’une charge de travail, il est important de prendre en compte la manière dont les décisions basées sur les principes de conception d’efficacité des performances et les recommandations de la liste de contrôle de révision de conception pour l’efficacité des performances peuvent influencer les objectifs et les efforts d’optimisation des autres piliers. Certaines décisions peuvent profiter à certains piliers, mais représenter des compromis pour d’autres. Cet article répertorie des exemples de compromis qu’une équipe de charge de travail peut rencontrer lors de la conception de l’architecture et des opérations de charge de travail pour une efficacité des performances.

Compromis entre performance, efficacité et fiabilité

Compromis : réplication réduite et densité accrue. La pierre angulaire de la fiabilité consiste à garantir la résilience en utilisant la réplication et en limitant le rayon d’explosion des dysfonctionnements.

  • La consolidation des ressources de charge de travail peut utiliser la capacité excédentaire et améliorer l’efficacité. Cependant, cela augmente le rayon d’explosion d’un dysfonctionnement dans le composant ou la plate-forme d’application colocalisés.

Compromis : complexité accrue. La fiabilité privilégie la simplicité.

  • Le partitionnement et le sharding des données permettent d’éviter les problèmes de performances dans les ensembles de données volumineux ou fréquemment consultés. Cependant, la mise en œuvre de ces modèles augmente la complexité car la cohérence (éventuelle) doit être maintenue entre des ressources supplémentaires.

  • La dénormalisation des données pour des modèles d’accès optimisés peut améliorer les performances, mais elle introduit de la complexité car plusieurs représentations de données doivent être synchronisées.

  • Les modèles de conception cloud axés sur les performances nécessitent parfois l’introduction de composants supplémentaires. L’utilisation de ces composants augmente la surface de charge de travail. Les composants doivent ensuite eux-mêmes être fiabilisés pour que l’ensemble de la charge de travail reste fiable.

Compromis : tests et observations sur des environnements actifs. Éviter l’utilisation inutile des systèmes de production est une approche d’auto-préservation de la fiabilité.

  • Les tests de performances dans des environnements actifs comportent le risque de provoquer des dysfonctionnements dus aux actions ou aux configurations de test.

  • Les charges de travail doivent être équipées d’un système de surveillance des performances des applications (APM) qui permet aux équipes d’apprendre des environnements actifs. L’outillage APM est installé et configuré dans le code de l’application ou dans l’hébergement environnement. Une mauvaise utilisation, un dépassement des limites ou une mauvaise configuration de l’outil peuvent compromettre sa fonctionnalité et maintenance, compromettant potentiellement sa fiabilité.

Compromis entre performance, efficacité et sécurité

Compromis : réduction des contrôles de sécurité. Les contrôles de sécurité sont établis sur plusieurs couches, parfois de manière redondante, pour assurer une défense en profondeur.

Une stratégie d’optimisation des performances consiste à supprimer ou à contourner les composants ou les processus qui contribuent aux retards dans un flux, en particulier lorsque leur temps de traitement n’est pas justifié. Toutefois, cette stratégie peut compromettre la sécurité et doit être accompagnée d’une analyse des risques approfondie. Prenez en compte les exemples suivants :

  • La suppression du chiffrement en transit ou au repos pour améliorer les vitesses de transfert expose les données à des violations potentielles de l’intégrité ou de la confidentialité.

  • La suppression ou la réduction des outils d’analyse ou d’inspection de sécurité pour réduire les temps de traitement peut compromettre la confidentialité, l’intégrité ou la disponibilité de ces outils protéger.

  • La suppression des règles de pare-feu des flux réseau pour améliorer la latence du réseau peut permettre une communication indésirable.

  • Minimiser la validation des données pour un traitement plus rapide des données pourrait compromettre l’intégrité des données, en particulier si les entrées sont malveillantes.

Compromis : surface de charge de travail accrue. La sécurité privilégie une surface réduite et contenue pour minimiser les vecteurs d’attaque et réduire la gestion des contrôles de sécurité.

Les modèles de conception cloud axés sur les performances nécessitent parfois l’introduction de composants supplémentaires. Ces composants augmentent la surface de charge de travail. Les nouveaux composants doivent être sécurisés, éventuellement par des moyens qui ne sont pas déjà utilisés dans le système, et ils augmentent souvent la portée de la conformité. Tenez compte de ces composants fréquemment ajoutés :

  • Présentation de plusieurs méthodes différentes de gestion de la logique métier, telles que les flux cloud et les plugins low-code, en fonction des exigences de performances de chaque tâche.

  • Déchargement du traitement vers des tâches en arrière-plan ou même vers le calcul client.

Compromis : suppression de la segmentation. Le pilier Sécurité privilégie une segmentation forte pour permettre des contrôles de sécurité précis et réduire le rayon d’explosion.

Le partage des ressources est une approche permettant d’améliorer l’efficacité. Il augmente la densité pour optimiser l’utilisation de la capacité. Par exemple, réutiliser les plugins low-code sur plusieurs applications canvas et flux cloud. La densité accrue peut entraîner les problèmes de sécurité suivants :

  • Une identité de charge de travail partagée qui viole le principe du moindre privilège et masque les pistes d’audit individuelles dans les journaux d’accès.

  • Contrôles de sécurité du périmètre, par exemple les règles de réseau, qui sont réduits pour couvrir tous les composants colocalisés, donnant aux composants individuels plus d’accès que nécessaire.

Compromis entre efficacité des performances et excellence opérationnelle

Compromis : observabilité réduite. La surveillance est nécessaire pour fournir une charge de travail avec des alertes significatives et contribuer à garantir la réussite de l’incident réponse.

  • La réduction du volume des journaux et des métriques pour réduire le temps de traitement consacré à la collecte de télémétrie au lieu d’autres tâches réduit l’observabilité globale du système. Voici quelques exemples de l’observabilité réduite qui en résulte :

    • Cela limite les points de données utilisés pour créer des alertes significatives.
    • Cela conduit à des lacunes dans la couverture des activités liées aux incidents réponse.
    • Cela limite l’observabilité dans les interactions et les limites sensibles à la sécurité ou à la conformité.
  • Lorsque des modèles de conception des performances sont mis en œuvre, la complexité de la charge de travail augmente souvent. Des composants sont ajoutés aux flux critiques. La stratégie de surveillance de la charge de travail et la surveillance des performances doivent inclure ces composants. Lorsqu’un flux s’étend sur plusieurs composants ou limites d’application, la complexité de la surveillance des performances de ce flux augmente. Les performances du flux doivent être corrélées sur tous les composants interconnectés.

Compromis : complexité accrue des opérations. Un Terminé complexe présente des interactions plus complexes et une probabilité plus élevée d’impact négatif des opérations de routine, ponctuelles et d’urgence.

  • L’amélioration de l’efficacité des performances en augmentant la densité augmente le risque dans les tâches opérationnelles. Une erreur dans un seul processus peut avoir un large rayon d’action.

  • À mesure que les modèles de conception des performances sont mis en œuvre, ils influencent les procédures opérationnelles telles que les sauvegardes, les rotations de clés et les stratégies de récupération. Par exemple, le partitionnement et le sharding des données peuvent compliquer les tâches de routine lorsque les équipes tentent de garantir que ces tâches n’affectent pas la cohérence des données.

Compromis : stress culturel. L’excellence opérationnelle est ancrée dans une culture d’irréprochabilité, de respect et d’amélioration continue.

  • L’analyse des causes profondes des problèmes de performance permet d’identifier les déficiences dans les processus ou les implémentations qui nécessitent une correction. L’équipe devrait considérer l’exercice comme une opportunité d’apprentissage. Si les membres de l’équipe sont blâmés pour les problèmes, le moral peut être affecté.

  • Les processus routiniers et ad hoc peuvent affecter les performances de la charge de travail. Il est souvent considéré préférable d’effectuer ces activités en dehors des heures de pointe. Cependant, les heures creuses peuvent être gênantes ou en dehors des heures normales pour les membres de l’équipe qui sont responsables ou compétents dans ces tâches.

Compromis entre efficacité et performances grâce à l’optimisation de l’expérience

Compromis : diminution de l’engagement des utilisateurs. Le pilier Optimisation de l’expérience donne la priorité à des expériences utilisateur plus engageantes.

  • L’optimisation des performances privilégie l’utilisation des fonctionnalités de la plateforme par rapport aux personnalisations, ce qui dépriorise les composants personnalisés qui pourraient conduire à une expérience utilisateur plus attrayante.

  • L’optimisation des performances peut se concentrer trop sur la minimisation de la complexité, ce qui dépriorise les fonctionnalités pour des expériences utilisateur plus attrayantes, telles que les composants personnalisés et les intégrations.

  • Le développement de l’interface utilisateur nécessite souvent des itérations et des cycles de livraison plus rapides, ce qui peut rendre plus difficile l’amélioration continue des performances.