你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
成本优化设计原则
体系结构设计始终由业务目标驱动,必须 考虑投资回报 (ROI) 和财务限制。 要考虑的典型问题包括:
- 分配的预算是否能够实现目标?
- 应用程序及其操作的支出模式是什么? 什么是优先领域?
- 如何通过提高利用率或减少资源来最大化资源投资?
成本优化的工作负载不一定是低成本工作负载。 有重大权衡。 战术方法是被动的,只能在短期内降低成本。 若要实现长期财务责任,需要 创建一个策略,其中包含优先顺序、持续监视和可重复的流程 ,这些流程侧重于优化。
设计原则旨在提供在设计和实现工作负载体系结构时需要考虑的优化策略。 从建议的方法开始,并 证明符合一组业务需求的好处。 设置策略后,将 成本优化清单 用作下一步来推动操作。
根据技术需求确定业务需求的优先级时,可以调整成本。 但是,在 需要优化成本的领域(例如安全性、可伸缩性、复原能力和可操作性)方面,应该会进行一系列权衡。 如果解决这些领域挑战的成本很高,并且这些原则未正确应用,你可能会做出风险选择,转而选择更便宜的解决方案,最终影响组织的业务目标和声誉。
制定成本管理规则
构建了解预算、支出、报告和成本跟踪的团队文化。 |
---|
成本优化在组织的各个级别进行。 请务必了解工作负载如何与组织目标和 FinOps 实践保持一致。 通过对业务部门、资源组织和集中式审核策略的视图,可以采用标准化的财务系统。
方法 | 好处 |
---|---|
开发 成本模型。 这一基本练习是建立财务跟踪系统的先决条件。 | 成本模型有助于细分支出并估算和 预测总拥有成本,包括基础结构、支持和实施。 它使你能够及早识别成本驱动因素,并预测任何变化、增长或收缩将如何影响预测业务模型中的总体支出。 |
具有 有效但灵活的问责模型 ,该模型通过正确分配的角色和职责实现。 | 随着体系结构的发展,各种角色参与决策。 明确责任有助于在给定范围) (实施每个角色 的功能预期 ,提高清晰度,并在所需级别生成具有透明度的报告。 |
估算 现实预算 ,涵盖所有不可谈判的功能和非功能性需求、人员和培训成本,以及提供预期增长的流程。 | 你将能够设置财务边界,并建立根据分配的预算检查支出的方法。 超出特定阈值时,你还会收到通知,这可以防止在租户范围、资源范围和应用于预算的其他范围内超支。 |
使用 治理 和流程来实现问责模型和预算。 | 获取通知是不够的,因为这是反动的。
主动治理 可帮助你避免可能导致超出预算的不必要的支出的操作。 某些操作可以改善当前状态。 保留策略是否过于宽松? 是否需要可伸缩性限制来确保负责任的工程? |
在系统中生成 捕获和分类费用的功能。 | 你将能够计算成本,以揭示不同计费边界 的技术和业务观点 。 你还将能够进行定期评审,并推动退款和退款流程。 |
规划 培训成本、招聘费用以及 随着工作负载成熟而增强技能所需的基础结构成本。 | 通过全职或供应商支持,对人员配备进行 投资是对现有技能的补充 。 |
鼓励架构师和应用程序所有者上游沟通。 | 处理反馈时,研究成本会降低,应将其视为与数值数据一样有意义。 你将通过使用员工的意见来 推动实际的设计更改 和业务策略,从而为员工提供支持。 |
采用成本效益思维模式进行设计
只花在实现最高投资回报所需的资金上。 |
---|
每个体系结构决策都有直接和间接的财务影响。 了解与生成与购买选项、技术选择、计费模型和许可、培训、运营等相关的成本。
在给定一组要求的情况下,根据成本优化和做出权衡决策,这些决策仍能有效解决工作负载的跨领域问题。
方法 | 好处 |
---|---|
衡量技术和自动化选项产生的总成本,同时考虑对 ROI 的影响。 对于所有功能和非功能要求,设计必须在可接受的边界内工作。 设计还必须具有灵活性,以适应预测的演变。 将购置、培训和变更管理的成本考虑在内。 |
实施考虑 ROI 的均衡方法 可以防止过度设计,这可能会增加成本。 放弃成本高昂且缺乏业务理由的替代方案,可以在预算中提供可在其他领域花费的缓冲。 我们不建议设计超出计划增长范围,因为这样做可能会转移分配给短期设计选择和权衡补偿的投资。 |
使用最适合满足要求的计费模型确定初始成本。 | 优化成本估算有助于预测成本与预算的比较方式,并确定main成本驱动因素。 成本驱动因素是否有助于满足业务需求? 你需要知道初始成本,然后才能重新调整选择并评估其他经济高效的选项。 你将发现如果设计处于纯假设状态,则可能无法检测到的隐藏成本。 |
通过确定 可降低总成本、不需要额外投资或对功能没有重大影响的服务的优先级来微调设计。 优先顺序应考虑到可带来高 ROI 的业务模型和技术选择。 | 你将能够探索更便宜的选项,这些选项可以实现资源灵活性或动态缩放,或者可能证明使用现有投资的合理性。 优先级参数可能会考虑关键工作负载、运行时和操作所需的成本,以及可能有助于团队更高效地工作的其他成本。 |
设计体系结构以支持成本防护。 | 通过治理策略或内置应用程序设计模式强制实施可以防止意外或未经批准的费用。 |
对于由服务级别协议 (SLA) 支持的工作负载, 请权衡保留罚款预算与将其用于实现的利弊。 如果实现良好,则可以避免处罚。 | 确保设计完成其预期功能并履行承诺是一种主动方法,可降低最终的责任风险。 谈判现实的成本承诺或与产品所有者合作创建专用的违规预算,使这些目标更易于实现。 |
针对使用情况优化进行设计
最大限度地利用资源和操作。 将它们应用于解决方案的协商功能和非功能性要求。 |
---|
服务和产品/服务提供各种功能和定价层。 购买一组功能后,请避免充分利用它们。 找到最大化层投资的方法。 同样,持续评估计费模型,以根据当前生产工作负载找到更符合使用情况的计费模型。
方法 | 好处 |
---|---|
评估所选 资源 SKU 是否提供 有助于满足性能、安全性、可靠性或操作目标的其他功能。 | 通过利用为设计选择的 SKU 提供的功能,可以最大程度地使用所付费内容, 并避免为未使用的功能付费。 |
在可行时使用基于消耗的定价。 | 你将为使用的内容付费。 此选项可能比充分利用的预付费选项更昂贵。 但是, 如果不希望充分利用预购计算,则消耗量计费可能是更好的选择。 |
应用策略 以符合设计以及设计的上限和下限。 | 治理确保仅预配允许的区域和服务及其预算数量。 这种治理 减少了浪费和资源过度预配。 |
如果已为资源付费,则优先部署主动-主动-主动模型或仅主动-主动模型,作为恢复计划的一部分。 | 如果设计默认使用主动-被动模型,则你可能具有本来可以使用的 空闲资源 。 转换为主动-主动可能会使你满足负载调配和缩放突发要求,而不会超支。 如果可以使用仅限活动的模型满足恢复目标,则可以完全删除这些资源的成本。 |
定期严格审查 部署中未使用的资源 和数据,并解除其授权。 | 关闭未使用的资源并在不再需要数据时删除数据可减少浪费并 释放资金,以便将其投资到其他位置。 |
查找在折扣的长期计划中 承诺的资源的其他用途 。 | 请考虑 预先购买的资源、现有许可证和其他未使用的基于承诺的折扣资源。 可以使用这些资源来节省资金。 可以将这些资源用于测试、其他环境,甚至满足功能和非功能性要求。 同样,为工作负载正在使用的资源找到利用已提交计划的机会将使工作负荷能够通过预提交优化这些资源成本。 |
利用你在 支持计划中的投资。 | 使用支持计划 处理生产问题或进行主动评审 将帮助你获得资金价值。 完全参与 Microsoft 支持模型。 |
速率优化设计
在不重新设计、重新谈判或牺牲功能或非功能性要求的情况下提高效率。 |
---|
利用机会优化现有资源和运营的效用和成本。 否则,无需花费任何额外的 ROI 即可。
方法 | 好处 |
---|---|
通过提交和预购买进行优化 ,以利用 预计不会随时间变化且成本和利用率可预测的资源类型提供的折扣。 此外,请与许可团队协作,以影响未来的购买协议计划和续订。 |
Microsoft 提供对特定资源和资源类别的可预测和长期承诺的降低费率。 资源 在使用期间的成本较低 ,可以在该时间段内摊销。 通过让许可团队了解当前和预测的资源投资,你可以在组织签署协议时帮助他们 调整承诺规模 。 在某些情况下,这些预测和承诺可能会影响组织的价目表,这会使工作负载的成本以及使用相同技术的其他团队受益。 |
通过评估 不需要额外许可的替代方案,找到降低许可成本的方法。 考虑混合使用和预生产订阅定价等选项。 | 你将能够通过利用以较低成本获得相同或可比技术使用权限的选项来降低服务、操作系统和工具的 许可成本 。 |
当资源的利用率高且可预测且有类似的 SKU 或计费选项可用时,请切换到固定价格计费,而不是基于消耗的计费。 | 当 利用率较高且可预测时,固定价格模型通常成本较低,并且通常支持更多功能。 使用它可以提高 ROI。 |
使用组织提供的集中资源,并与其他团队分担成本。 | 共享资源通常具有更高的容量来支持多个工作负载,并且 成本跨团队分配。 只要工作负荷的功能没有受到损害,就能够依赖共享资源可以节省资金。 显示和退款是其他潜在优势。 |
部署到 成本较低的区域。 | 一些地区以更便宜的价格提供服务。 如果仍然可以满足功能和非功能性要求,应考虑使用这些区域。 通过评估每个环境的区域选择,可以进一步受益,即使生产环境不能,也可能对预生产环境使用优惠定价。 |
与其他资源、工作负载甚至团队共同定位使用情况。 首选能够更轻松地实现更高密度的服务。 考虑潜在的权衡,特别是在安全边界上。 |
你将能够通过优化硬件利用率来节省成本。 随着密度的增加,运行工作负荷所需的资源量会减少。 这种减少可降低单位成本和管理成本。 |
随时间推移进行监视和优化
随着工作负载随着生态系统的发展,持续调整投资规模。 |
---|
昨天重要的事情今天可能并不重要。 通过评估生产工作负载来了解情况时, 预计体系结构、业务需求、流程甚至团队结构会发生更改。 软件开发生命周期 (SDLC) 实践可能需要发展。 外部因素也可能发生变化,例如云平台、其资源和协议。
应仔细评估所有更改对成本的影响。 定期监视更改和 ROI 趋势,并评估是否需要调整功能和非功能性要求。
方法 | 好处 |
---|---|
使用成本跟踪系统,持续评估和优化资源、数据和付费支持的成本。 是否有 可能停用、替换、重新生成或重构未充分利用的资源? | 可以通过 避免为未充分利用的资源付费来降低成本。 了解定价指标有助于做出更符合成本模型的决策。 它还可以防止不必要的计费。 通过调整大小或删除未充分利用的资源,甚至更改 SKU,可以降低成本。 还可以通过评估支持合同的使用并调整其大小来节省一些成本。 |
根据 ROI 数据持续调整体系结构设计决策、资源、代码和工作流。 | 定期审查指标、性能数据、计费报告和功能使用情况可能会导致 微调,从而降低成本。 |
以不同的方式对待不同的 SDLC 环境,并部署适当数量的环境。 生产环境应成为main成本驱动因素。 |
可以通过了解 并非所有环境都需要模拟生产来节省资金。 非生产环境可以具有不同的功能、SKU、实例计数,甚至日志记录。 还可以通过按需创建预生产环境并在不再需要时将其删除来节省成本。 |