工作负载的性能 Power Platform 效率权衡
满足其性能目标且没有过度预置的工作负载是高效的。 提高性能效率的关键策略包括正确使用代码优化、设计模式和容量规划。 明确的性能目标和测试是这一支柱的基础。
在工作负载的设计阶段,请务必考虑根据 性能效率 设计评审清单中的 性能效率设计原则 和建议的决策如何影响其他支柱的目标和优化工作。 某些决策可能使某些支柱受益,但对其他支柱来说却意味着权衡。 本文列出了工作负载团队在设计工作负载架构和操作以提高性能效率时可能遇到的示例权衡。
性能、效率与可靠性的权衡
权衡:减少复制并提高密度。 可靠性的基石是通过使用复制和限制故障的冲击半径来确保弹性。
- 整合工作负载资源可以利用多余的容量并提高效率。 但是,它会增加共存组件或应用平台中故障的冲击半径。
权衡:增加复杂性。 可靠性优先于简单性。
数据分区和分片有助于避免大型或频繁访问的数据集中的性能问题。 但是,这些模式的实现增加了复杂性,因为需要跨其他资源保持(最终)一致性。
对数据进行非规范化以优化访问模式可以提高性能,但会带来复杂性,因为数据的多个表示需要保持同步。
以性能为中心的云设计模式有时需要引入其他组件。 使用这些组件会增加工作负载的外围应用。 然后,组件本身必须可靠,以保持整个工作负载的可靠性。
权衡:在活动环境中进行测试和观察。 避免不必要地使用生产系统是实现可靠性的一种自我保护方法。
活动环境中的性能测试存在因测试操作或配置而导致故障的风险。
应使用应用程序性能监控(APM)系统对工作负载进行检测,使团队能够从活动环境中学习。 APM 工具在应用程序代码或托管环境中安装和配置。 工具使用不当、超出限制或配置错误可能会损害其功能和维护,从而可能破坏可靠性。
性能、效率与安全性的权衡
权衡:减少安全控制。 安全控制跨多个层建立,有时是冗余的,以提供深度防御。
一种性能优化策略是删除或绕过导致流程延迟的组件或流程,尤其是当其处理时间不合理时。 但是,此策略可能会危及安全性,应伴随着全面的风险分析。 考虑以下示例:
删除传输中或静态加密以提高转移速度会使数据面临潜在的完整性或机密性泄露风险。
删除或减少安全扫描或检查工具以减少处理时间可能会损害这些工具所保护的机密性、完整性或可用性。
从网络流中删除防火墙规则以改善网络延迟可能会允许不需要的通信。
为了更快地进行数据处理而尽量减少数据验证可能会损害数据完整性,尤其是在输入是恶意的情况下。
权衡:增加工作负载外围应用。 安全性优先考虑减少和受控的外围应用,以最大限度地减少攻击媒介并减少安全控制的管理。
以性能为中心的云设计模式有时需要引入其他组件。 这些组件会增加工作负载的外围应用。 新组件必须得到保护,可能采用系统中尚未使用的方式,并且它们通常会增加合规性范围。 请考虑以下常见添加的组件:
根据每个任务的性能要求,引入多种不同的业务逻辑处理方法,例如云端流和低代码插件。
将处理卸载到后台作业甚至客户端计算。
权衡:删除分段。 安全支柱优先考虑强分段,以实现精细的安全控制并减少冲击半径。
共享资源是一种提高效率的方法。 它增加了密度以优化容量使用。 例如,在多个画布应用和云端流中重复使用低代码插件。 增加的密度可能会导致以下安全问题:
违反最低权限原则并隐藏访问日志中单个审计跟踪的共享工作负载身份。
边界安全控制(例如网络规则)减少以涵盖所有共存组件,从而为各个组件提供不必要的访问权限。
性能效率与卓越运营的权衡
权衡:可观察性降低。 监控对于为工作负载提供有意义的警报并帮助确保成功的事件回复是必要的。
减少日志和指标量以减少收集遥测数据而不是其他任务所花费的处理时间,会降低系统的整体可观测性。 导致可观测性降低的一些示例包括:
- 它限制了用于构建有意义警报的数据点。
- 这会导致事件回复活动的覆盖范围出现差距。
- 它限制了安全敏感或合规性敏感的交互和边界的可观测性。
实施性能设计模式时,工作负载的复杂性通常会增加。 组件被添加到关键流中。 工作负载监控策略和性能监控必须包括这些组件。 当流跨越多个组件或应用程序边界时,监控该流性能的复杂性会增加。 需要在所有互连组件之间关联流性能。
权衡:操作复杂性增加。 复杂的环境具有更复杂的交互,并且更有可能受到常规、临时和紧急操作的负面影响。
通过增加密度来提高性能效率会提高运营任务的风险。 单个进程中的错误可能具有较大的影响半径。
随着性能设计模式的实施,它们会影响备份、密钥轮换和恢复策略等操作过程。 例如,当团队试图确保日常任务不会影响数据一致性时,数据分区和分片可能会使这些任务复杂化。
权衡:文化压力。 卓越运营植根于无可指责、尊重和持续改进的文化。
对性能问题进行根本原因分析,可以识别需要纠正的流程或实施中的缺陷。 团队应该将练习视为一个学习机会。 如果团队成员因问题而受到指责,士气可能会受到影响。
例行和临时流程可能会影响工作负载性能。 通常认为在非高峰时段进行这些活动是可取的。 但是,对于负责或擅长这些任务的团队成员来说,非高峰时间可能会带来不便或超出正常时间。
性能效率与 Experience Optimization 的权衡
权衡:用户参与度降低。 体验优化支柱优先考虑更具吸引力的用户体验。
优化性能会优先使用平台功能,而不是自定义功能,因为自定义功能会降低自定义组件的优先级,而自定义组件可能会带来更具吸引力的用户体验。
优化性能可能会过于专注于最小化复杂性,这会降低功能(例如自定义组件和集成)的优先级,从而获得更具吸引力的用户体验。
用户界面开发通常在更快的迭代和交付周期中完成,这使得持续提高性能变得更加困难。