你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
成本优化权衡
在财务限制下设计工作负载以最大化投资回报(ROI),首先需要明确定义的功能和非功能要求。 工作和工作优先顺序策略至关重要。 该基金会是一个具有强烈财务责任感的团队。 团队应对可用技术和计费模型有很强的了解。
了解工作负荷的 ROI 后,可以开始改进它。 若要改进 ROI,请考虑如何根据成本优化设计原则以及成本优化设计清单中的建议做出决策可能会影响其他 Azure 良好架构框架支柱的目标和优化。 对于成本优化,请务必避免专注于更便宜的解决方案。 仅关注最小化支出的选择可能会增加破坏工作负荷的业务目标和声誉的风险。 本文介绍在考虑成本优化的目标设置、设计和操作时工作负荷团队可能会遇到的示例权衡。
成本优化与可靠性的权衡
必须根据阻止或恢复服务中断的成本来衡量服务中断的成本。 如果中断成本超过可靠性设计的成本,则应投入更多资金来防止或缓解中断。 相反,可靠性工作的成本可能大于中断的成本,包括符合性要求和信誉等因素。 仅在此方案中,才应考虑可靠性设计中的战略剥离。
权衡:降低复原能力。 工作负荷包含复原措施,旨在避免和承受特定类型和故障数量。
为了节省资金,工作负荷团队可能会预配组件或过度控制其缩放,使组件更有可能在需求突然激增期间发生故障。
合并工作负荷资源(增加密度)以优化成本,使得各个组件在需求高峰和维护操作(如更新)期间更有可能失败。
删除支持复原设计模式(如消息总线)的组件,并创建直接依赖项可减少自我保留功能。
通过减少冗余来节省资金可能会限制工作负荷处理并发故障的能力。
使用预算 SKU 可能会限制工作负荷可以达到的最大服务级别目标(SLO)。
设置硬支出限制可以防止工作负荷缩放以满足合法需求。
如果没有可靠性测试工具或测试,工作负荷的可靠性未知,并且不太可能满足可靠性目标。
权衡:有限的复苏策略。 可靠的工作负荷针对灾难方案具有经过测试的事件响应和恢复计划。
减少对工作负荷灾难恢复计划的测试或钻探可能会影响恢复操作的速度和有效性。
创建或保留更少的备份会减少可能的恢复点,并增加丢失数据的机会。
选择与技术合作伙伴的不太昂贵的支持合同可能会增加工作负荷恢复时间,因为潜在的技术支持延迟。
权衡:复杂性增加。 使用简单方法并避免不必要的或过度设计的复杂性的工作负荷通常更容易在可靠性方面进行管理。
使用成本优化云模式可以添加新组件,例如内容分发网络(CDN),或者将职责转移到工作负荷必须为其提供可靠性目标的边缘和客户端设备。
与基于资源的缩放相比,基于事件的缩放可能更复杂,可以优化和验证。
通过在数据生命周期操作中减少数据量和分层数据(可能与在生命周期事件之前实现聚合数据点结合使用)引入了在工作负荷中要考虑的可靠性因素。
使用不同的区域来优化成本可以使管理、网络和监视更加困难。
成本优化与安全性的权衡
对工作负荷中机密性、完整性和可用性的损害成本必须始终与防止这种泄露的努力成本进行平衡。 安全事件可能会产生广泛的财务和法律影响,并损害公司的声誉。 投资安全性是风险缓解活动。 体验风险的成本必须与投资保持平衡。 作为一种规则,不要损害安全性,以获得低于责任点和风险缓解协议的成本优化。 通过权限化解决方案优化安全成本是一个重要的优化做法,但在这样做时请注意以下权衡。
权衡:减少安全控制。 安全控制跨多个层建立,有时是冗余的,以提供深度防御。
一种成本优化策略是查找删除累算单位或运营成本的组件或流程的方法。 为了节省资金,删除安全组件(如以下示例)会影响安全性。 需要仔细对这种影响执行风险分析。
减少或简化身份验证和授权技术会 损害验证零信任体系结构的 显式原则。 这些简化的示例包括使用基本身份验证方案(例如预共享密钥,而不是投入时间来学习行业 OAuth 方法,或使用简化的基于角色的访问控制分配来减少管理开销)。
删除传输中的加密或静态加密,以降低成本的证书及其操作过程会将数据公开给潜在的完整性或机密性泄露。
由于相关的成本和时间投资,删除或减少安全扫描或检查工具或安全测试可能会直接影响工具和测试旨在保护的机密性、完整性或可用性。
由于在编录和执行修补方面投入了操作时间,因此降低了安全修补的频率,这会影响工作负载解决不断演变的威胁的能力。
删除网络控制(如防火墙)可能会导致阻止恶意入站和出站流量失败。
权衡:增加工作负荷外围应用。 安全支柱优先考虑减少和包含的外围应用,以尽量减少攻击途径和安全控制的管理。
优化成本的云设计模式有时需要引入其他组件。 这些附加组件会增加工作负荷的外围应用。 这些组件和数据必须受到保护,可能采用系统中尚未使用的方式进行保护。 这些组件和数据通常符合性。 可以引入组件的模式示例包括:
使用静态内容托管模式将数据卸载到新的 CDN 组件。
使用辅助密钥模式卸载处理和保护对客户端计算的资源访问。
通过引入消息总线,使用基于队列的负载调配模式来平缓成本。
权衡:已删除分段。 安全支柱优先考虑强分段,以支持应用目标安全控制和控制爆炸半径。
共享资源(例如,在多租户情况下或在共享应用程序平台上并置多个应用程序)是一种通过增加密度和减少管理面来降低成本的方法。 这种密度增加可能会导致安全问题,如下所示:
共享资源的组件之间的横向移动更容易。 破坏应用程序平台主机或单个应用程序可用性的安全事件也具有更大的爆炸半径。
共置资源可能会共享工作负荷标识,并在访问日志中具有不太有意义的审核线索。
网络安全控制必须足够广泛,才能涵盖所有共置资源。 此配置可能会违反某些资源的最小特权原则。
将不同应用程序或数据并置到共享主机上可能会导致将符合性要求和安全控制扩展到其他范围之外的应用程序或数据。 这扩大范围需要对共同定位组件进行额外的安全审查和审核工作。
与卓越运营的成本优化权衡
权衡:已泄露的软件开发生命周期(SDLC)容量。 工作负荷的 SDLC 流程提供更严格、一致性、具体性和优先级,用于更改工作负荷中的管理。
减少测试工作量以节省时间以及与测试人员、资源和工具相关的成本,可能会导致生产中出现更多的 bug。
延迟还清技术债务,将人员精力集中在新功能上,可能会导致开发周期变慢,整体敏捷性降低。
将文档优先化,将人员精力集中在产品开发上可能会导致新员工加入时间更长,影响事件响应的有效性,并损害合规性要求。
缺乏对培训的投资导致技能停滞不前,减少了团队采用较新的技术和做法的能力。
删除自动化工具以节省资金可能会导致人员花更多的时间处理不再自动化的任务。 它还会增加错误和不一致的风险。
减少规划工作(如范围和活动优先顺序)可能会增加因模糊规范和实施不力而导致返工的可能性。
避免或减少持续改进活动,如回顾和事后报告,使工作负荷团队专注于交付,可能会创造错过的机会来优化例行、计划外和紧急流程。
权衡:减少可观测性。 需要可观测性来帮助确保工作负荷具有有意义的警报和成功的事件响应。
减少日志和指标量以节省存储和传输成本可降低系统可观测性,并可能导致:
- 创建与可靠性、安全性和性能相关的警报的数据点更少。
- 事件响应活动中的覆盖范围差距。
- 对与安全性或符合性相关的交互或边界的可观测性有限。
成本优化设计模式可将组件添加到工作负荷,从而提高其复杂性。 工作负荷监视策略必须包括这些新组件。 例如,某些模式可能会引入跨多个组件或将进程从服务器转移到客户端的流。 这些更改可以提高关联和跟踪信息的复杂性。
减少对可观测性工具和维护有效仪表板的投资,可以减少从生产中学习、验证设计选择并通知产品开发的能力。 这种减少也可能会阻碍事件响应活动,并使得更难实现恢复时间目标和 SLO。
权衡:延迟维护。 工作负荷团队应及时有序地保持代码、工具、软件包和操作系统的修补和最新状态。
让与工具供应商的维护合同过期可能会导致错过优化功能、bug 解决方法和安全更新。
增加系统修补程序之间的时间,以节省时间可能会导致错过的 bug 修复或缺乏针对不断演变的安全威胁的保护。
成本优化与性能效率的权衡
成本优化和性能支柱都优先考虑最大化工作负荷的价值。 性能效率强调满足性能目标,而无需花费超过必要的支出。 成本优化强调最大程度地提高工作负荷资源产生的价值,而不会超过性能目标。 因此,成本优化通常会提高性能效率。 但是,与成本优化相关的性能效率权衡。 这些权衡可能会使达到性能目标并阻碍持续的性能优化变得更加困难。
权衡:预配不足或未缩放的资源。 性能高效的工作负荷有足够的资源来满足需求,但即使使用模式波动,也不会产生过多的未使用开销。
通过缩减资源来降低成本可能会剥夺资源的应用程序。 应用程序可能无法处理严重的使用模式波动。
限制或延迟缩放以限制或降低成本可能会导致供应不足,无法满足需求。
为了降低成本而大幅缩减的自动缩放设置可能会使服务无法为需求突然激增做好准备,或导致频繁的缩放波动(拍打)。
权衡:一段时间内缺乏优化。 评估功能变化、使用模式更改、新技术和工作负载上不同方法的影响是尝试提高效率的一种方法。
限制专注于开发性能优化专业知识,以便确定交付优先级可能会导致错过提高资源使用效率的机会。
删除访问性能测试或监视工具会增加未检测到的性能问题的风险。 它还限制了工作负荷团队在度量/改进周期上执行的能力。
忽视容易性能下降的区域(如数据存储)可能会逐渐恶化查询性能并提升整个系统使用情况。
相关链接
探索其他支柱的权衡: