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