在亚马逊re:Invent大会之后,我们很清楚的看到亚马逊的发展是不可阻挡的。AWS发布越来越多的产品,这些产品都是全整合的,而且非常易用。如果你认为做基础设施的公司是其竞争对手,那么你的确需要重新好好想想。新的亚马逊提供了竞争对手擅长的数据库服务,提供开源大数据和容器生态,提供安全软件,甚至是提供开发人员以及各种APM工具。
开源是一个关键因素,但是亚马逊似乎要证明可用性以及整合比各种堆叠起来的开源项目对客户来说才是更重要的。
有趣的是,亚马逊一方面打压开源生态系统来突出自身工具的优势,另外一方面却在将一些开源项目(例如Facebook开发并开源的Presto)打包成一个盈利的产品(如最新发布的Athena服务)。
这应该敲响软件和技术行业的警钟!
在以前,我们专注于开发模块化的体系结构。我们有标准的协议,诸如:NFS,RPC和标准的API层,诸如:BSD,POSIX等等。那是一段有趣的日子。你可以从不同的供应商那里购买产品,而这些产品可以很好的协同工作,产品之间是可交互的。而且多数的产品也有开源的实现替代方案,人们也可以利用它们来构建商业版本去扩展其功能和可用性。
最成功的开源项目毫无疑问是Linux。我们经常会忘记它有非常严格的API和应用分层。新的内核实现必须遵循官方标准(USB,SCSI…)。但是Linux的各种开源和商业版本百花绽放,一起打造和谐的生态环境。
如果我们对比Linux和今天的开源生态,我们会发现很多产品实现的重叠。举大数据生态为例:在绝大多数场景中是没有标准API和分层的,更不用说标准连接协议了。项目本身是不可交互的,导致开源软件的使用比使用那些符合通用标准的商业产品造成更多的锁定问题。
我们是如何走到这一步的?
科技产品正在经历一场由数据化转型驱动的巨大变革。这大大的改变了基础设施提和软件栈。老一代的卫道士挣扎求生,我们似乎缺少用来定义和建立新时代模块化堆栈的技术领导层。而实力强大如亚马逊和Azure这样的公司正在构建他们自己全整合的产品,所以我们其他人需要承担责任、共同工作、专注于整合,而不是代码层面的东西。
我们不需要20个乃至更多的Apache项目来做同一件事情,这些产品只是略好而已。我们也不需要十多个开源的容器管理平台,我们没办法将一个糟糕的架构框架变成实际的标准。我们需要重新开始定义全新堆栈中的层和组件,包括API、协议和公共管理模式。我们应该努力使现有的项目很产品适应这种新的模式,然后不断有更好的产品推出。
这是让开源软件能够有像样用户体验的唯一方法,一个我们可以轻松从独立的组件中构建安全的集成堆栈,并可根据需要进行产品的连接,而不是被锁定到特定的项目或者某供应商提供的API上。如果我们不这样做,我们将在云时代成为技术的奴役。
来源:https://coyee.com/article/12245-did-amazon-just-kill-open-source
原文:https://dzone.com/articles/did-amazon-just-kill-open-source
作者:Yaron Haviv
频道:计算机
发布:CY2 (2017-05-29)
版权:本文仅用于学习、研究和交流目的,非商业转载请注明出处、译者和可译网完整链接。