过去十年间,从Linux和MySQL到Kubernetes、Spark、PrestoMongoDB,开源一直是云创新的支柱。但从最近的发展来看,开源的商业模式似乎蒙上了一层阴影。

在过去的十年中,从Linux和MySQL到Kubernetes、Spark、Presto和MongoDB,开源一直是云计算技术创新的支柱。但最近的发展已经给开源背后的商业模式蒙上了一层阴影,业界现在必须采取行动,避免扼杀其最伟大的创新来源之一。

2017年的云计算市场,有一个领域获得了空前的关注 — Kubernetes。
Kubernetes可以追溯到2014年,当时Google公开发布了该项目的开源代码。2017年,Kubernetes广受欢迎,几乎所有的主要IT供应商都支持这个平台。

开源生态若想繁荣,其中具有激励模式是相当重要的,独立开发者需要有动机才能为开源项目贡献自己的,而对于那些具有开创精神的开发者来说,他们也需要有足够的激励吸引力,从而聚集在公司的周围,以帮助他们蓬勃发展。

图片 1

小数今天推送的这篇文章,为您揭示Kubernetes与Docker容器之间是怎样的关系?对企业客户又意味着什么?

图片 2

作为Apache
Hive的共同创建者和前项目负责人,我知道激励对于开源生态系统蓬勃发展至关重要。独立开发人员需要激励他们为开源项目贡献自己的时间和技能,而那些具有创业思维的人需要激励围绕这些项目建立公司以帮助他们繁荣发展。

但公有云的存在可能会破坏这样的激励模式,因为他们改变了开源的态势。大型云供应商很容易将开源项目纳入自身体系中并将其作为一种托管服务产品,而如果这些大型供应商并没给社区进行相关的回馈,那么它们就会榨取其他的工作成果,并破坏开源繁荣所必须的激励机制。

公共云可能会破坏这些激励因素,因为它改变了开源的动态。大型云计算提供商很容易接受开源项目并将其作为托管服务提供。如果它在没有回馈社区的情况下做到这一点,那么它将不公平地从他人的工作中获利,并扰乱开源繁荣所需的激励机制。

Kubernetes是一个开源项目,提供容器编排,部署和管理功能。自 2015 年
7月以来,它一直是由Linux基金会下的云原生计算基金会(CNCF)运营。尽管Kubernetes不再只是Google的一个项目,Google仍然贡献了远大于比其他任何机构的代码量。

在最近有关AWS的争议中,AWS被指责总是随意使用开源项目并对其进行重命名,但并不总是对社区进行回馈。这促使Confluent、Redis
Labs和MongoDB等供应商开发新的许可证,以阻止大型商业云供应商的掠夺。

人们在围绕AWS的当前讨论中已经看到了这一点,AWS被指责采取开源项目,并对其进行品牌重塑而不总是回馈这些社区。这促使包括Confluent、RedisLabs和Mongo
DB在内的供应商开发新的许可证,以防止大型商业云计算提供商将其代码作为托管服务提供。

将AIX应用程序迁移到云的最佳实践
Kubernetes
2017年如此耀眼,2018年Kubernetes将继续成为一支重要的力量。要理解这点,首先要认识到这项技术和云计算的完美契合之处。 

但似乎这并不是一个很正确的方式,因为这些新的许可证还没有被开源计划所承认,它们有可能使开源软件本身的使用权问题更加复杂化。正如软件自由保护协会(Software
Freedom Conservancy)会长Bradley M.
Kuhn所说,软件应该“对每个人都是平等的,不管他们是不是商业参与者”。“开源之所以蓬勃发展,是因为这一原则一直受到尊重,而任何困惑都可能阻止人们加入社区。

这并不是正确的方法。这些新的许可证尚未得到开源计划的认可,并且它们有可能混淆开源软件的使用权。正如软件自由保护协会主席Bradley
M.Kuhn所说,软件自由应该“对所有人来说都是平等的,无论他们是否是商业行为者。”开源已经蓬勃发展,因为这个原则一直受到尊重,任何混乱可能会阻止人们进入社区。

在过去三,四年中,越来越多的企业选择使用Docker容器来部署云工作负载。Docker容器提供的既是运行容器化应用程序的运行时,也是封装和交付容器应用的格式。容器提供了直接在虚拟机管理程序内部改善可移植性和效率的承诺。

那些寻找自身业务保护方法的开源公司确实值得同情。但虽然独立开发人员尽了最大的努力,要使开放源码项目足够稳定,并适合广泛的企业应用,依然还是需要大型公司的资源和管理。Linux在企业中获得了成功,因为Red
Hat和IBM都支持它。借助谷歌的支持,Kubernetes迅速繁荣起来。当然也有例外,但是如果一个开源项目背后有一家公司的支持,那么它在大型企业中更有可能成功。

那些寻求保护其业务的开源公司值得同情。尽管独立开发人员做出了最大的努力,但企业的资源和管理工作需要将开源项目视为足够稳定以供企业广泛使用。Linux之所以在企业中脱颖而出,因为RedHat和IBM全力支持它。Kubernetes的发展速度与它一样快,因为它得到了谷歌的支持。但是如果一个开源项目有一个公司的力量支持,那么它更有可能在大型企业中成功。

随着容器使用量的增长,需要对容器集群进行编排,调度和控制。这就是Kubernetes适合的地方。Kubernetes提供了大规模运行容器的编排系统和管理平台。还提供了一系列API抽象,使其他技术可以插入,使平台具有很强的可扩展性,并且能够支持各种不同的供应商部署用例。

在这里,本文作者, 云数据分析平台 Qubole创始人兼CEO Ashish
Thusoo也表达了自己的想法,他提到了他公司产品十分依赖于一些开源组件,如Spark、Presto和Hive。但同时Qubol也通过两个项目Sparklens和RubliX对社区进行回馈,前者是一个提供Spark应用程序性能的框架,后者是一个加速Presto和Spark性能的缓存框架。

例如一家公司提供了一个基于云的数据分析平台,该平台严重依赖Spark、Presto和Hive等开源组件。与此同时,通过两个项目(SparkLens,一个改进Spark应用程序性能的框架)和Rubix(一个加速Presto和Spark性能的缓存框架)回馈社区,成为优秀的开源公民。

比其核心编排能力更重要的是,Kubernetes在2017年成为实现多云世界的事实平台。虽然AWS在2017年继续主导公有云,但企业仍然希望能够在多个云上部署和运行应用程序。

当然,在云中提供开源软件可以帮助这些项目吸引到更多的用户和开发人员。但是,如果商业云提供商的利润不公平,就会阻碍下一代企业家程序员创建开源公司,并阻碍投资者支持这些公司。

部分原因在于大型云计算提供商的公平竞争。AWS公司在市场中的地位符合他们商业利益的行为。但他们需要认识到,从长远来看,破坏开源会像其他任何人一样伤害他们。开源倡导者应该继续提高对这个问题的认识,并对云计算提供商施加公众压力,以便采取负责任的行动。人们已经看到证据表明这种压力可行。

容器提供了运行应用程序的基本包装,可以在任何支持容器的云上部署。有了Kubernetes,就有了一个平台,可以帮助企业在运行Kubernetes的云或本地部署管理容器的部署和编排。

那么,如果新的许可证不是解决方案,那么什么才是解决方案呢?

人们还需要一个开放源码的“道德准则”,由社区贡献者、项目负责人和开放源码组织(如OSI和Apache)创建。完全符合开放源码许可证是可能的,但仍然以损害社区的方式行事。能够指出一个广泛认可的道德准则,其中规定了不可接受的做法,将使公司和个人更容易对其行为负责。

云中的Kubernetes
一颗种子总会发芽,结出硕果。在作为开源技术的短短3年时间里,Kubernetes成为基于容器的工作负载的默认编排引擎。虽然捐赠的是1.0版本,但是谷歌在大规模运行容器方面有十年的研究和经验。

这在一定程度上取决于大型云供应商能否做到公平竞争。AWS并不见得是“邪恶的”,它的行为符合其认为的最佳商业利益。但是AWS也需要认识到,从长远来看,破坏开源对其自身其他公司一样有害。开源倡导者应该继续提高对这一问题的认识,并向云供应商施加公众压力,要求它们采取负责任的行动。有证据表明,这种压力能够奏效。

最后的主旨是竞争。确实,大型云计算提供商在吸引客户方面具有优势;他们被视为首席信息官的“简单”和“安全”选择。但客户可以选择最好的软件和支持。如果开源公司能够为他们自己的发行版提供更好的功能和更好的支持,他们将说服客户选择他们自己的产品。

Google是否在内部使用Kubernetes?来自Kubernetes博客:“Google上的许多开发人员都是以前在Borg项目上的开发人员。我们已经将Borg的最佳创意融入了Kubernetes,并试图解决用户在多年来与Borg确定的一些痛点。”

我们还需要一个开源的“道德准则”,其由社区贡献者、项目负责人以及开源组织(如OSI和Apache)创建。能够制定出一套得到广泛认可的道德准则,将使追究企业和个人的行为责任变得容易得多。

在此已经概述了社区可以采取的改善情况的行动,但每个人也可以作为个体采取行动。人们都有能力通过让云计算提供商了解其担忧来影响市场。让他们通过反馈表单和产品论坛向社区提供特定的功能,这是让人们声音被听到的一种方法。这些云阇提供商的开发人员也会在开放源码论坛上闲逛,希望成为社区的一部分;将这些请求提请他们注意,会给更改带来更大的压力。

谷歌在一些内部项目中使用Kubernetes的声音很清晰,且很快就会改变一些现有的关键产品。即使未来需要更好的展示,Kubernetes也可以轻松定制
– 最大的好处是可以根据需要将自定义组件与现有组件进行混合和匹配。

最后的推动力是竞争。的确,大型云供应商在吸引客户方面具有优势,它们被CIO视为“简单”和“安全”选择。但是客户还会去选择最好的软件和最好的支持。如果开源公司能够为他们自己的发行版产品提供更好的特性和更好的支持,他们将说服客户选择他们自己的产品。

这个挑战没有简单的解决方案,但人们需要认真对待。开源模型并不脆弱,不会在一夜之间破坏。但是,如果商业云提供商继续利用项目而不给予回馈,那么他们就会削弱帮助开源成功的激励措施。杀鸡取卵不符合他们的利益,当然也不符合开发商和客户的利益。

以下是Google在过去几年 Kubernetes 的搜索量增长情况:
 

以上是一些社区可以采取的行动,但是我们作为个人,开源开发者也可以以个人去施加影响,他们可以通过反馈表单和产品论坛贡献自己的意见与想法,并让自己的声音为其他人所知。

图片 3

尽管开源挑战没有简单的解决办法,但我们依然需要认真对待。开源模型并不脆弱,也不会在一夜之间被打破。但是,如果商业云供应商继续开发项目而不给予回报,他们就会削弱那些帮助开源取得如此成功的激励措施。杀鸡取卵不符合他们的利益,当然也不符合开发商和客户的利益。

Google在Kubernetes上运行的Linux容器(LXC)并不是那么容易处理,而且需要掌握更多的专业知识。

2017年初,Kubernetes
只支持谷歌云平台(GCP)和谷歌Kubernetes引擎(GKE),但是在一年中,扩展到包括所有三家主要的公有云供应商。

二月份,微软正式加入支持Kubernetes的行列,宣布
Azure容器服务支持Kubernetes。去年11月,Kubernetes在亚马逊弹性容器服务(Amazon
EKS)首次亮相。

除了公有云支持外,CNCF在9月份还宣布了Kubernetes认证服务提供商计划。该计划现在有25个合作伙伴公司开发和销售自己的Kubernetes发行版并提供管理服务。为了确保不同Kubernetes供应商和平台之间的互操作性,CNCF于2017年11月推出了认证Kubernetes计划,目前拥有42个成员公司。

网站地图xml地图