技术采用和供应商锁定之间存在差异。技术采用是有引力的,但供应商锁定对企业会产生较大影响。
1. 技术采用的早期阶段
两三年前,企业购买的所有技术都是专有的。技术选择是供应商选择,供应商选择也是技术选择——它们是相同的。如果企业不是自己构建软件(在当时是一个真正缓慢而艰巨的过程),则必须从供应商那里购买它并支付许可费用 - 并希望它按照其预期(以及供应商所说)的方式工作。如果该软件没有达到宣传效果,企业也不得不忍受它或重新开始寻找替代方案。
这导致了企业的极端保守行为。任何技术失误都可能导致成本上升。企业可以通过白皮书、客户和同行参考、分析师咨询以及行业杂志等渠道了解相关信息。这迫使供应商在软件销售之前披露尽可能多的信息。
2. 开源改变了世界
随着开源软件的出现,客户改变技术变得更加容易。缺乏软件许可成本减少了变革的阻力。使用开源,采用和学习新技术仍然需要成本,但还有另一个隐藏的优势。
使用开源软件,供应商无法锁定企业客户。企业会有很多选择。如果只有一个供应商销售对特定开源代码的支持,企业仍然可以选择离开该供应商。购买可以自己支持的软件,甚至可以花钱请顾问来支持它。
实际上,开源断开了技术选择和供应商选择。企业采用什么技术,以及选择从谁那里采用它是两个完全不同的选择。此外,这些选择具有明显不同的风险和回报。
3. 技术采用与供应商锁定
供应商锁定的历史并不遥远,人们认为决定使用特定的开源技术是一种锁定,但事实并非如此。
开源技术肯定有采用成本,这会产生引力,但引力和锁定是两个截然不同的概念。做出任何选择都有重力。做出技术选择具有更大的重要性。但是,当企业管理者犯错时,重力并不能阻止其放弃决定。成本本身并不是锁定的。
例如,假设企业做出使用开源项目来解决数据存储问题的技术决策。大约在项目进行到一半时,企业意识到该技术无法满足其需求,因此必须寻找替代的开源项目,投入时间学习和部署它,并在采用这个新项目时冒另一个风险。
那不是锁定。
锁定带来的负面影响更加糟糕。锁定是指只有一家供应商可以提供企业采用的技术解决方案。锁定是指企业想保留技术,但摆脱供应商。
即使在 2022 年,有时企业也必须服从供应商锁定。有时,专有解决方案确实是唯一可行的选择。例如,在制造业等行业,供应商锁定仍然是正常的。在这种情况下,建议使用所有为防止错误决策而开发的审查流程(RFP、分析师咨询、客户参考等)。
4. 云计算是否会有不同?
在云中租用硬件和使用更高层的云服务是两件完全不同的事情(硬件 1.0 与硬件 2.0)。在硬件和软件堆栈的不同部分,技术采用成本可能会有很大差异。云供应商是否真的会在软件领域获胜还有待观察,但他们正试图像最初的硬件供应商那样爬上堆栈。
在硬件 2.0 的情况下,服务器在云中租用并通过 API 进行配置。将虚拟机从一个云提供商迁移到另一个云提供商的转换成本相当于学习一个新的 API 进行配置。Ansible 和 Terraform 等工具可以通过为企业提供跨这些 API 的单一技术层来进一步降低这些成本,从而几乎完全消除任何供应商锁定。
这种情况下的成本与采用开源软件非常相似。当然,有采用成本,但没有许可费。企业从每个云提供商处获得的最终产品在功能上几乎相同。Arm、GPU 等存在一些差异化,但这是硬件供应商多年来所做的正常差异化。
更高级别的云服务是不同的。Amazon Kinesis、Amazon DynamoDB 和 AWS Lambda 等云服务,甚至 Azure DevOps Pipelines 和 GitHub Actions 等工具,都与租用虚拟机完全不同。由于这些服务中的每一项,以及单个应用程序运行所需的这些服务的复杂组合,都只能从一个供应商处获得,因此我们又回到了类似于之前的许可成本的额外成本。
总之,这组复杂的服务相当于典型的供应商锁定。如果企业想像这样将其技术选择和供应商选择固有地联系在一起,企业应该详细咨询律师、RFP 和分析师。
云供应商是否会走之前硬件供应商的道路,并被开源软件初创公司所取代?
糟糕的技术选择和供应商锁定是两个截然不同的风险。
如果企业快速采用技术,试图获得冒险的回报,则会做出一些糟糕的技术选择。做出糟糕的技术选择通常无法避免,企业应了解这些技术之后,更好地做出新的选择。
糟糕的供应商选择不是战略投资。由于开发范式和工具中的绝大多数创新都是通过开源开发的,因此企业采用将其锁定在单一供应商中的技术几乎没有什么好处。