在设计中采用成本效益思维模式
- 12 分钟
|
|
|---|
每个体系结构决策都会影响您的预算,例如是构建还是购买、使用哪些工具,或如何许可和培训。 权衡这些选项,并在不超支的情况下做出仍能满足应用需求的取舍是非常重要的。
示例方案
Contoso Manufacturing 运行一个自定义构建的仓库管理系统(WMS),用于处理其整个南美洲的四个仓库。 他们希望更新 WMS 并将其移动到云中。 他们正在决定使用新式云工具对当前解决方案进行直接迁移或全新构建。 领导部门希望控制成本,因此团队需要一个保持成本效益的计划。
WMS 解决方案是在 Internet Information Services(IIS)上运行的 .NET 应用程序,并将 SQL Server 用于其数据库。
了解设计的全部成本
衡量技术和自动化选择产生的总成本,同时考虑对投资回报率 (ROI) 的影响。 设计必须在所有功能和非功能要求可接受的边界内奏效。 设计还必须灵活,以适应预测的发展。 考虑购置、培训和变更管理的成本。
实施平衡的方法并将 ROI 考虑在内时,可防止过度工程,以及它可能导致的成本增加。
Contoso 的挑战
Contoso 的工程团队非常兴奋地将仓库系统转移到云中,就像其他团队所做的那样。
他们知道当前应用有一些技术债务,因此他们计划重写大部分应用程序代码,并切换到较新的云原生工具。
工程团队希望将一切重新设计为微服务并在 Azure Kubernetes 服务(AKS)上运行,这是一个新的令人兴奋的平台。
应用方法和结果
团队对在云移动期间进行重大重新设计感到兴奋,但他们知道他们需要维护工作负荷的 ROI。 因此,他们必须坚持使用自己已经熟悉的工具,避免进行需要额外培训工程团队的重大修改。
工作负荷团队采用实际方法来设计系统。 他们希望它经济高效,满足预期,并避免过度复杂的事情。 为了保持 ROI 的检查,并使迁移顺利进行,他们决定在云中使用等效的解决方案,例如 Azure 应用服务。
他们建立了一个成本基线,用于考虑基础结构、许可和运营成本,以及不太明显的因素,例如针对新平台的培训、重写旧代码以及跨团队管理更改。 他们更清楚地了解了预算内可行的内容,这证实了他们决定将应用服务视为更熟悉、风险较低的路径。
在迁移期间,团队计划处理一些目前适合解决的技术债务。 这样,在所有内容都在 Azure 上运行后,他们将处于一个更好的位置以不断改进平台,并且在做出这些选择时仍然考虑到 ROI。
优化设计
微调设计,优先考虑可降低整体成本、不需要额外投资或对功能没有重大影响的服务。 优先级别应考虑带来高 ROI 的业务模型和技术选择。
可以探索更便宜的选项,这些选项可能启用资源灵活性或动态缩放,或者可能证明使用现有投资是正当的。 优先级参数可能会考虑关键工作负载、运行时和操作所需的成本,以及其他可能帮助团队更高效工作的成本。
Contoso 的挑战
现有工作负载托管在超融合 (HCI) 设备上,团队的成本中心针对计算、网络和存储成本进行费用追溯。
工作负荷已在 Windows 虚拟机上部署了预生产环境和生产环境。
具有自承载运行器的 GitHub Actions 用于运行 GitHub Actions 作业。
应用方法和结果
在评估多个云原生选项后,团队决定将 Web 组件移动到应用服务可提供 Windows IIS 应用程序兼容性,且无需进行重大培训。
团队决定继续将 GitHub Actions 与自承载运行器一起使用,但他们将迁移到虚拟机规模集,以便能够在不使用节点时缩放到零节点。
设计体系结构以支持成本防护措施
在体系结构中设置成本限制,使支出保持在安全范围内,并确保云环境成本保持在这些限制之下。
强制实施限制有助于避免意外费用,并确保仅使用实际预算。
Contoso 的挑战
当前系统没有成本控制措施,但由于其变化不大,因此没有人推动去添加这些措施。
HCI 环境所有者已设置资源上限,因此工作负荷不能使用比允许更多的计算或存储。
团队担心迁移到云可能会导致意外成本,他们不确定如何避免这种情况。
应用方法和结果
团队了解如何使用Microsoft成本管理解决方案。
他们计划为应用服务计划设置规模限制。
他们计划设置拒绝策略,阻止使用某些昂贵的虚拟机 SKU。
他们计划添加自动化以节省存储。 较旧或不太使用的数据将自动移动到更便宜的存储层,例如冷存储层或存档层。 这种自动化在旧的 HCI 环境中是不可能的。