老实说,我一直对软件的“构建与购买”区分不太喜欢。当然,购买而非构建是明智的选择——前提是有第三方产品恰好满足您的需求,有未来发展的相同路线图,能够满足所有安全需求、成本低并提供良好的支持,且自建产品没有任何竞争优势。换句话说,购买的明确案例并不存在。在其他情况下,所谓的构建与购买决策需要更为细致的考虑。有一个第三种选择,就是利用已有的构建模块进行“构建”。许多这样的构建模块可以在云中作为高级服务获得;其他则是众所周知的开源框架和工具。在这篇博文中,西蒙·卡特探讨了这种“裁剪”方法,以及为何它通常是最佳选择。
— 马克
作者:西蒙·卡特
在之前的博文中(, ),我们讨论了云时代“构建与购买”决策的复杂性。IT团队的技能、组织结构与敏捷性、市场差异化、风险承受力以及审批机制都在起作用。但现在有一种第三选项,其优点结合了两者,值得认真考虑,我们称之为“裁剪”。
选择购买解决方案的组织通常通过选择固定价格的现成商业解决方案(COTS)来降低风险。每个项目都有内部业务案例为经济合理性提供支持,合作伙伴一般负责提供解决方案。业务案例通常难以量化用户体验及易用性等主观领域的价值,并往往低估了变更对时间表和成本的影响。实现价值可能需要数月甚至数年的时间。
购买项目的典型生命周期为: 评估与购买 , 集成 , 测试 , 部署 。
选择构建解决方案的组织倾向于采用可变定价(设有上限)和敏捷交付。简易的商业案例覆盖关键指标和这些改进指标对组织及客户的价值。跨职能团队基于开源和定制开发提供解决方案。变更在这些项目中被预期并以迭代的方式进行处理。选择合适的技术往往会拖慢这些项目的规划阶段,而试图一次性构建过多内容也可能造成延误。尽管可能需要数月才能开始交付价值,但一旦开始,增量价值会定期交付。
构建项目的典型生命周期为: 计划 , 设计 , 构建 , 集成 , 测试 , 部署 , 维护 , 扩展 。
如果您能够拥有购买产品的市场响应速度,亦能享有构建产品的灵活性,这样是否可行?
能否在构建解决方案时消除技术不确定性,并确保从第一天开始交付高度可用、稳定且符合企业安全标准、且成本效益高的解决方案?
事实证明这是可能的,而且非常简单。
如今,亚马逊网络服务(AWS)的解决方案架构师及其合作伙伴已经建立了350多种经过验证的解决方案和参考架构。在详尽的文档支持下,这些解决方案为复杂方案提供了最佳实践的快速启动。它们涵盖从安全合规的金融服务环境到机组人员管理的参考架构。这些解决方案符合AWS在安全性、高可用性和成本方面的最佳实践,只需极少的步骤即可减少数百种选择和手动程序。
您可以在几分钟内部署这些解决方案,并开始将其调整为符合组织独特需求的样子。
“裁剪”决策的典型生命周期为: 部署 , 集成 , 测试 ,可选的_扩展_。
让我们看看“裁剪”在管理角度如何与“购买”和“构建”相比较:
从高层次来看,裁剪解决方案能够为组织提供显著优势。例如,它可以减少架构开销,提供一个快速、安全、具成本效益、未来可适应、韧性强且可靠的解决方案。
我们经常发现AWS客户没有意识到可以使用的经过验证的参考架构,因为如TOGAF和Zachman等架构框架倾向于考虑现成商业解决方案(COTS)和开源产品,而不是完整的、现成的架构。
在决定是购买、构建还是裁剪产品时,您应考虑以下五个方面:
控制权: 这是您在市场中区分的关键所在。对购买解决方案的路线图几乎没有控制权,您可能会在一定时间内被锁定。然而,通过构建解决方案,您拥有完全的控制权——这也意味着完全的责任!而裁剪产品则以一个良好架构、强健、安全且具成本效益的基线开始,并可根据需要完全控制迭代。像AWS这样的云平台快速迭代和部署新功能、服务及集成的速度意味着原生解决方案能快速扩展以适应未来需求。
成本: 您所购买的供应商可能会让您享受其规模经济的优势,但更可能的是,他们的定价基于运行成本,加上他们所交付的价值以及任何开发的知识产权(IP)。构建自己的产品通常更为昂贵。您需要管理产品团队、开发知识产权、构建架构、运营产品,并提供支持。裁剪产品则只需支付运行和支持成本,从而将与安全性、性能、成本效益、可靠性和运营相关的支出降到最低。
维护: 升级可能复杂且成本高昂,尤其是当您修改过现成产品时。如果您构建了一款产品,您需要管理操作系统版本及整个软件堆栈及其依赖项的生命周期以及任何错误修复。而裁剪产品通常由您管理操作系统版本及软件生命周期,既可以通过补丁管理(自动化操作系统版本更新)来完成,也可以通过无服务器解决方案来实现。
机会成本: 购买解决方案可以直接消除机会成本。您可以继续专注于核心利润生成活动,但也失去了除了解决方案配置和与其他系统集成之外的差异化能力。构建解决方案可能会使主题专家在关键业务领域消失很长时间。然而,裁剪解决方案可以在几分钟到数小时内部署,并以代码形式提供基础设施。
价值实现时间: 购买解决方案大幅缩短您的价值实现时间。您的时间投入仅限于评估解决方案、决定、配置并启动所需的时间。相比之下,构建一个功能良好、用户友好的平台的1.0版本可能需要数月。您所能裁剪的解决方案使用现代框架,例如AWSAmplify,集成安全服务、可扩展性和最佳实践集成模式。此外,无服务器“胶水”功能(例如AWSLambda)允许将参考架构和解决方案叠加,协同高层服务,确保实现价值所需时间低。
今天,有很多起点可以选择。以下链接将帮助您入门。选择一项或多项多服务架构模式来创建您自己的良好架构应用,避免浪费时间,并在提供价值时实现差异化。
所以下次您考虑是构建还是购买时,请确保您的思考过程扩展到“构建与购买 vs 裁剪”。
— 西蒙·卡特
PS:这里有一些经过验证的解决方案库,供您参考:
Leave a Reply