Partager via


Compromis en termes d’efficacité et de performances pour Power Platform charges de travail

Une charge de travail qui atteint ses objectifs de performances 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 considérer comment les décisions basées sur les principes de conception d’efficacité des performances et les recommandations de la liste de contrôle d’examen de la conception pour L’efficacité des performances peut influencer les objectifs et les efforts d’optimisation d’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 chargée de la charge de travail peut rencontrer lors de la conception d’une architecture et d’opérations de charge de travail visant à améliorer l’efficacité des performances.

Compromis entre performances, efficacité et fiabilité

Compromis : réplication réduite et densité accrue. La pierre angulaire de la fiabilité est d’assurer la résilience en utilisant la réplication et en limitant le rayon d’action 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’action d’un dysfonctionnement dans le composant ou la plate-forme d’application colocalisée.

Compromis : complexité accrue. La fiabilité donne la priorité à la simplicité.

  • Le partitionnement et le partage 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 (éventuellement) la cohérence 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 la charge de travail. Les composants doivent alors eux-mêmes être rendus fiables 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 en raison des actions ou des configurations de test.

  • Les charges de travail doivent être instrumentées avec un système de surveillance des performances des applications (APM) qui permet aux équipes d’apprendre des environnements actifs. Les outils APM sont installés et configurés dans le code de l’application ou dans l’environnement d’hébergement. Une utilisation inappropriée, le dépassement des limites ou une mauvaise configuration de l’outil peuvent compromettre sa fonctionnalité et sa maintenance, ce qui peut potentiellement nuire à sa fiabilité.

Compromis entre performances, efficacité et sécurité

Compromis : réduction des contrôles de sécurité. Les contrôles de sécurité sont établis sur plusieurs niveaux, 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 processus qui contribuent aux retards dans un flux, en particulier lorsque leur temps de traitement n’est pas justifié. Cependant, cette stratégie peut compromettre la sécurité et doit être accompagnée d’une analyse approfondie des risques. 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 peuvent compromettre la confidentialité, l’intégrité ou la disponibilité protégées par ces outils.

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

  • Réduire la validation des données pour un traitement plus rapide des données peut compromettre l’intégrité des données, surtout si les entrées sont malveillantes.

Compromis : augmentation de la surface de charge de travail. La sécurité donne la priorité à une surface réduite et contenue afin de minimiser les vecteurs d’attaque et de 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 la charge de travail. Les nouveaux composants doivent être sécurisés, éventuellement d’une manière qui n’est pas déjà utilisée dans le système, et ils augmentent souvent la portée de la conformité. Considérez ces composants couramment 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é donne la priorité à 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 pour améliorer l’efficacité. Il augmente la densité pour optimiser l’utilisation de la capacité. Par exemple, réutiliser des plugins low-code sur plusieurs applications canevas 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é périmétriques, 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é et performance et excellence opérationnelle

Compromis : observabilité réduite. La surveillance est nécessaire pour fournir à une charge de travail des alertes significatives et contribuer à garantir une réponse réussie aux incidents.

  • Réduire le 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 entraîne des lacunes dans la couverture des activités de réponse aux incidents.
    • Cela limite l’observabilité dans les interactions et les limites sensibles à la sécurité ou à la conformité.
  • Lorsque des modèles de conception de performances sont mis en œuvre, la complexité de la charge de travail augmente souvent. Les 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 éléments. 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 de flux doivent être corrélées entre tous les composants interconnectés.

Compromis : complexité accrue des opérations. Un environnement complexe entraîne 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 grand rayon de souffle.

  • À 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 partage 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 mises en œuvre qui nécessitent une correction. L’équipe doit considérer l’exercice comme une opportunité d’apprentissage. Si les membres de l’équipe sont blâmés pour des problèmes, le moral peut en être affecté.

  • Les processus de routine 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 en termes d’efficacité des performances et d’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 donne la priorité à l’utilisation des fonctionnalités de la plate-forme plutôt qu’aux personnalisations, ce qui prive les composants personnalisés susceptibles de conduire à une expérience utilisateur plus attrayante.

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

  • Le développement de l’interface utilisateur s’effectue souvent au moyen d’itérations et de cycles d’expédition plus rapides, ce qui peut rendre plus difficile l’amélioration continue des performances.

Voir aussi