有关选择正确服务和功能的建议

适用于此 Power Platform Well-Architected 性能效率检查表建议:

PE:03 选择正确的服务。 服务和功能必须支持您达到工作负载性能目标的能力,并适应预期的容量变化。 选择还应权衡使用平台功能或构建定制实现的优势。

本指南介绍了为您的工作负载选择适当服务的建议。 以下建议有助于您选择最能满足工作负载要求的服务。 当您使用旨在处理工作负载要求的服务时,可以确保您的工作负载满足您的性能目标。 如果为工作负载选择不合适的服务,则这些服务可能无法处理工作负载的需求。 服务不足可能导致响应时间变慢、瓶颈或工作负载故障。

定义

术语 定义
区域 包含一组数据中心的地理外围。
资源 您可以在云服务提供商中创建、配置和利用的单个实体或组件。
Service 来自云服务提供商的产品或服务。
存储服务 为对象、块和文件提供存储的服务。

关键设计策略

您选择的服务应与工作负载的性能目标保持一致,并适应未来的容量需求。 随着工作负载的扩展或发展,您使用的服务应符合您的性能标准,而无需进行重大调整。 考虑平台功能和自定义实现之间的平衡。 平台功能提供即时解决方案,但定制选项提供精确定制。 通常将这两个选项组合在一起,并针对内置平台功能中的特定空白进行自定义构建选项。 您的服务选择应该具有前瞻性,并根据您的特定需求量身定制,同时考虑到便利性和定制性之间的权衡。

了解工作负载要求

了解工作负载需求是指掌握工作负载的技术和功能需求。 此分析有助于确定运行工作负载所需的资源、存储、网络和其他规格。 使服务与工作负载的特定需求保持一致有助于防止过度配置或资源利用不足。

评估工作负载的需求和特征,以确定要求,并使工作负载要求与每一层的性能目标保持一致。 您必须考虑约束或依赖关系。 当您了解您的工作负载要求时,您可以做出明智的决策。 您可以确定正确的基础架构并实施策略来处理峰值负载或需求变化。

  • 实现绩效目标。 选择使您能够满足工作负载性能目标的服务。 确保服务可以支持性能需求,并且可以监视其性能。 收集关键组件的性能数据。

  • 考虑组织限制。 熟悉您的组织对您部署的服务的限制。 设计解决方案时,请考虑这些限制。

  • 考虑合规性和安全性要求。 合规性和安全性要求可能会影响您选择的服务和配置。 确保您选择的服务满足与存储、加密、访问控制、审核日志和数据位置相关的要求。

  • 考虑团队技能。 您的团队构建和维护工作负载。 不同的服务需要不同的技能。 选择您的团队知道如何使用的服务,或承诺在选择服务之前对其进行培训。 确保团队成员拥有有效使用服务和优化其绩效的专业知识和知识。

权衡: Power Platform 服务提供特定功能,但可能会限制自定义。 包含自定义组件的工作负载可能提供更大的灵活性,但与仅使用 Power Platform 服务的工作负载相比,可能需要更多的管理和配置。

了解服务

了解服务就是了解平台工具和产品的功能、限制和功能。 了解服务有助于使用内置功能,减少对复杂自定义解决方案的需求并提高性能效率。

在选择服务之前,请考虑各种因素并全面了解服务。 研究和评估平台提供的服务和工具。 确定哪些服务和工具最符合您的工作负载要求。

了解服务限制

服务限制是服务设置的预定义阈值或边界。 服务限制定义了该服务中资源或功能的最大使用率。 当您熟悉服务限制时,可以避免资源争用、性能下降或意外服务中断等问题。 您可以适当地规划和扩展工作负载。 您的规划会考虑数据量、处理能力和数据驻留要求等因素。

首选平台功能

首选平台功能是指使用平台提供的内置功能来处理特定任务,而无需自定义代码。 内置功能旨在大规模高效地处理特定任务,并定期维护。 平台功能使你能够更好地利用云基础架构功能,因为它们是为您抽象化处理的。 选择允许您将功能卸载到平台的服务,而不是编写和维护自己的自定义代码。 在许多情况下,平台即服务 (PaaS) 解决方案提供比自定义代码更好的性能效率。 自定义代码增加了复杂性,并使工作负载容易出现性能问题。 仅当服务功能不足时才开发自定义代码。

权衡:适合您工作负载的最佳服务可能是您的团队不擅长、负担不起的技术,或者它可能需要额外的安全层。 例如,插件 Dataverse 可能更适合您的性能需求,但您的工作负载团队可能只熟悉 Power Automate 云端流。

评估基础结构要求

资源的性能效率与它们所在的基础设施有关。 它使得选择正确的基础架构对于服务性能效率至关重要。 评估基础结构要求涉及确定最适合支持工作负载的地理区域。

该决策的主要考虑因素包括:

  • 了解区域。 每个区域对应一个不同的地理位置。 在云中部署解决方案需要选择一个数据中心位置,即解决方案的物理服务器和数据库所在的位置。 由于延迟,此选择会对性能产生影响。

  • 单区域与多区域部署模型。 多区域部署可以减少最终用户的延迟。 但是,它也会增加工作负载的成本和复杂性。 考虑数据使用要求;例如,单个区域可能会阻止创建多个较小的数据孤岛。 选择最适合您的工作负载需求的部署模型。

  • 了解可用功能。 不同的地区可能提供不同的功能。 在选择某个区域之前,请了解该区域中可用的功能。 确保区域满足您的工作负载性能需求。

  • 考虑延迟。 延迟是数据从源传输到目的地所需的时间,服务之间的距离越远,延迟就越长。 跨区域通信的服务可能会面临延迟增加的问题。 建议识别频繁通信的服务,并将它们定位在同一区域内。 此外,选择靠近主要用户群的区域可以最大程度地减少延迟,从而提供更好的用户体验。 如果您的用户位于世界不同地区,则可能需要在其中一些用户的延迟方面做出妥协。 您应该分析用户角色和工作负载,以找到最佳平衡。 选择数据中心位置是您的环境策略的一部分。

评估网络需求

评估您的网络需求,以确定适当的工作负载服务和配置。 确保网络能够支持您的工作负载。

要评估网络要求,请确保:

  • 了解网络流量。 评估工作负载的预期网络流量。 了解数据传输需求和网络请求的频率。

  • 了解带宽要求。 确定工作负载的带宽要求。 考虑通过网络传输和接收的数据量。

  • 了解网络延迟。 评估工作负载所需的延迟。

  • 了解吞吐量。 考虑工作负载所需的吞吐量。 吞吐量是指在指定时间段内可以通过网络传输的数据量。 配置网络路由选项以利用网络吞吐量优势。

  • 了解影响网络流量和性能的配置。 防火墙设置、本地数据网关配置等可能会影响网络流量和性能。 了解可能产生影响的所有组件和配置,并确保它们配置为支持您的性能要求。

评估自定义组件的计算要求

虽然平台服务管理自己的计算要求,但您需要评估已实现的任何自定义云组件的计算要求。 评估计算要求涉及评估工作负载的特定计算需求,包括实例类型、可扩展性和容器化等因素。 不同的计算服务具有不同的功能和特征,可能会影响工作负载的性能。 选择最佳计算服务,确保工作负载高效运行。 有关评估自定义组件的计算要求的更详细建议,请查看 Azure Well-Architected Framework 中的评估计算需求

评估负载均衡要求

虽然平台服务管理自己的负载均衡,但评估和考虑其他负载均衡选项非常重要。 选择应该基于您如何使用服务功能。 负载均衡可确保工作均匀分布,并防止任何单个资源被请求淹没。 负载均衡有助于防止瓶颈并缩短响应时间。 评估解决方案中包含的服务提供的各种负载均衡选项。 查看文档和比较工具以了解这些功能。

若要为工作负载选择最合适的负载均衡选项,请考虑:

  • 流程机器人自动化(RPA)主机:评估是否在多个 RPA 主机之间进行负载均衡,以自动扩展工作负载并优化无人参与的自动化。
  • 本地网关:使用负载均衡选项来避免在访问本地数据资源时出现单点故障。

评估数据库需求

数据库可能会影响数据存储和检索、事务处理、一致性保证以及处理大型或快速变化的数据等因素。 评估数据库的需求和条件。 选择能够满足这些要求的数据库系统。 在选择数据库之前,请评估数据库要求。

若要评估数据库要求并选择适当的数据库,请按照下列步骤操作:

  • 确定工作负载需求。 了解工作负载的特定要求,例如数据量、预期事务速率、并发性、数据类型和预期增长。 根据您的工作负载需求评估不同的数据库系统。 例如,如果您的工作负载需要高性能实时数据处理,则可以选择针对快速数据摄取和低延迟进行优化的数据库系统。

  • 考虑数据模型。 确定最适合您的工作负载的数据模型。 评估数据库要求,以确保所选数据库支持所需的数据结构、关系和完整性约束。 例如,如果数据具有高度关系结构,则可以选择关系数据库管理系统 (RDBMS),该系统为事务和引用完整性提供可靠的支持。 数据模型可以是分层的、网络的、关系的、面向对象的或 NoSQL 的。 评估数据模型的复杂性。 确保所选数据库支持所需的数据结构和融洽关系。

  • 评估功能。 考虑读/写模式、查询复杂性、延迟要求和可伸缩性需求等因素。 相应地评估不同数据库系统的性能。 一些数据库在读取密集型工作负载中表现出色,而另一些数据库则针对写入密集型或分析工作负载进行了优化。

  • 评估负载。 考虑数据量、事务速率、读/写比率和预期增长等因素。 选择能够处理预期工作负载的数据库,以确保平稳运行,并防止在工作负载扩展时出现性能瓶颈。 考虑工作负载的可伸缩性要求。 这些要求包括预期的数据增长、并发用户访问以及对水平或垂直扩展的需求。 评估不同数据库系统提供的可伸缩性选项和可用性功能。

评估存储要求

选择符合您的数据访问模式、持久性要求和性能需求的存储服务。 大多数云工作负载都使用存储技术的组合。 这种技术被称为多语言持久性方法。 确定适合工作负载的存储服务组合。 您可能还希望分离数据以避免污染。 例如,您可能有单独的存储帐户来监视数据和业务数据。 选择正确的组合和正确的实现对于优化应用程序性能非常重要。

评估缓存需求

缓存存储经常访问的数据。 缓存可减少数据访问延迟并降低数据存储组件的负载。 它允许工作负载在不扩展的情况下处理更多请求。 缓存工作负载数据和静态内容很常见。 某些平台服务会自动缓存数据以提高性能。 请考虑添加额外的缓存以提高性能并减少总体 API 请求消耗。

评估业务逻辑需求

根据功能、性能和可重用性要求选择如何实现业务逻辑。 Power Platform 提供许多选项来执行业务逻辑;例如,Power Automate 云端流、低代码或代码优先插件以及业务规则。 大多数工作负载将使用不同选项的组合。

要评估如何实现业务逻辑,请考虑:

  • 团队技能。 您的团队构建和维护工作负载。 不同的服务需要不同的技能。 选择您的团队知道如何使用的服务,或承诺在选择服务之前对其进行培训。 确保团队成员具备有效使用服务并优化其绩效的专业知识和知识。 例如,开发 Dataverse 插件将需要您的工作负载团队编写 NET 或 Power Fx 代码

  • 逻辑方法。 评估逻辑中是否存在需要人工交互的步骤(例如通过审批流程或表单响应),如果有,则确定是否可以在没有人工交互的情况下执行所有步骤。 例如,如果需要人工交互,则可使用 Power Automate 审批,但是当不需要人工交互时,您可以选择使用 Dataverse 插件使逻辑作为 Dataverse 数据操作的一部分无缝运行。

  • 集成。 查看体系结构图,并考虑工作负载需要与哪些系统集成。 评估集成选项,并考虑对性能和可靠性的影响。 实时集成可以为用户带来立竿见影的好处,但可能会影响性能和可靠性。 使用异步方法(如 Power Automate)或将 Dataverse 事件发布到队列以供以后处理,可以提高性能和可靠性。 然而,这些方法不能给用户即时的反馈。

  • 复杂性。 考虑逻辑的复杂性,并评估是否可以将其分解为单独的步骤。 例如,使用业务规则来验证必填字段、数据格式和范围,而不是在画布应用程序或自定义脚本中实施逻辑。 对于基于现有值的简单计算,您可以使用计算汇总字段,对于更复杂的计算,可以使用 Dataverse 插件。

  • 重用性。 识别和重用逻辑,以提高一致性和维护。 考虑是否需要从工作负载的各个点重用业务逻辑。 例如,Dataverse插 件逻辑可以从应用程序和自动化中调用,而如果将业务逻辑放在画布应用中,则无法重用它。

请记住,选择取决于您的特定要求、工作负载复杂性和集成需求。 根据项目目标和组织背景评估每个选项。 考虑一下使用逻辑是否可以帮助的不仅仅是一个项目。 如果可以,请调整您的方法以提供最大的好处。

评估响应能力

请记住,用户根据他们的期望来判断性能,而不是通过客观衡量标准。 您可以使用不一定会加快流程速度但使用户体验更流畅的技术来提高感知性能。 例如,使用异步处理并不能使任务更快地完成,但它可以使用户界面保持响应,从而允许用户执行其他操作。

要评估响应能力,请执行以下操作:

  • 考虑是针对同步、异步还是后台(批处理)处理进行设计。
  • 考虑数据随时间推移的增长。 随着越来越多的数据流过您的系统,您可能需要对其进行调整以保持相同的响应时间。
  • 考虑在页面或应用程序中缓存哪些数据,而不是在每次页面加载时实时检索数据。

Power Platform 便利化

了解要求:使用 Azure Monitor 从工作负载中收集和分析数据。 Monitor 可让您深入了解工作负载的性能和运行状况,从而帮助您识别和解决问题。

了解和评估服务:查看平台服务以确定它们是否满足您的性能要求。 Power Platform 提供多种服务来实现相同的结果。 您可以灵活地根据您的绩效需求、团队技能组合和成本要求来调整您选择的服务。

性能效率清单

请参考整套建议。