谷歌与微软,勇士与恶龙的身份互换?

2021-01-19 12:27:17 浏览数 (1)

近日,微软宣布开源轻量级服务网格(Service Mesh)项目 Open Service Mesh (OSM),并强调将在第一时间把该项目捐赠给云原生计算基金会(CNCF)。

而就在上个月,谷歌违反与 IBM 之间的协议,拒绝将旗下著名的开源服务网格项目 Istio 捐给 CNCF,并自建新组织转移了 Istio 等项目的商标所有权,遭到开源界的一致抗议。

相较之下,微软强调要捐赠 OSM 的举动确实耐人寻味。

OSM 与 Istio 的区别

8 月 6 日,微软宣布开源一个基于 Envoy 代理的轻量级服务网格项目 OSM。据微软云服务平台 Azure 产品总监 Gabe Monroy 介绍,OSM 被设计为服务网格统一接口标准 SMI 的实现,同时采用 Envoy 作为代理和总线。

被问到 OSM 与 Istio 有何区别时,Gabe 表示,最主要的区别在于 OSM 更加轻量。“ 我们的许多客户都在尝试使用 Istio,但从 AKS (Azure K8s 服务)的支持队列中我们看到,很多用户都在使用 Istio 的过程中遇到了困难。”

Gabe 认为,Istio 本身的复杂度已经成为很多企业用户开发人员学习的负担。“ Istio 的设计理念是试图整合整个 Envoy 生态系统,这就产生了大量复杂的 API 。

但大多数使用 Service Mesh 的用户其实只关注三件事:服务之间的安全通信、智能路由以及服务之间的自动监控。Istio 的一些复杂功能在很多时候都用不上。事实上,这些不必要的复杂性还提高了容器集群出故障的概率。”

而 OSM 虽然被称为轻量级,但并不意味着它缺乏能力。Gebe 表示,OSM 是经过精心设计的,只保留了用户最需要的部分 API 。“ 我们希望 OSM 简单易懂(相比 Istio),这是有代价的,这个代价就是一些高级功能的可访问性。

我们通过为原生 Envoy API 创建一个 bail-out 机制来启用这些高级功能,而不是在 API 层面做更多文章。

服务网格统一接口标准 SMI

Gebe 提到的 SMI 是微软在去年提出的 Service Mesh Interface 的简称。

2019 年 5 月,在由 CNCF 主办的 KubeCon 2019 峰会上,微软联合 CNCF 推出运行于 K8s 之上的服务网格规范 Service Mesh Interface (简称 SMI),定义了一组描述能力很有限的对象,用于进行服务网格的控制,旨在为现有和未来不同厂商的服务网格产品提供统一的接口标准。

SMI 的出现让轻量级的服务网格产品成为主流趋势,CNCF 官方项目 Linkerd 就是一款基于 SMI 实现的轻量级服务网格产品。

SMI 对服务网格中的流量规范、访问控制、流量拆分、流量监控四大模块定义了 API 标准,避免了市场碎片化,也让新晋厂商拥有加入 Service Mesh 生态建设的兼容能力。

当时,加入该标准的厂商包含了很多知名开源公司和 CNCF 基金会成员,包括 Red Hat、VMware、微软、Canonical、Docker 等,但作为 CNCF 创始成员的谷歌却并不在列,令人感到惊讶。要知道,谷歌维护着当时市场份额占比最大的 Service Mesh 产品 Istio。

似乎从这时候起,谷歌就打算不和大家一起玩了。

屠龙勇士终成恶龙?

从云计算技术基础“三大论文”、浏览器内核 Chromium 、Andorid 系统,再到如今一统云原生基础设施建设的 Kubernetes ,一直以来,谷歌都是开源领域的佼佼者,推出了一个又一个足以改变世界的重量级开源项目。

但近年来,谷歌面对开源社区的态度似乎正在产生微妙的变化。

去年 10 月,在谷歌公开的一份高层战略报告中,谷歌产品经理兼 Knative 项目指导委员会成员 Donna Malayeri 明确表示 Knative 项目(基于 Kubernetes 与 Istio 的 Serverless 架构)将不会捐赠给任何基金会。

这一决定在当时也引来了许多业内人士的不满。VMWare 首席工程师 Joe Beda 与微软工程师 Brendan Burns(前谷歌 Kubernetes 首席工程师)等人都对这一消息表示失望。

而就在上个月,谷歌违反与 IBM 共同开发 Istio 项目时达成的协议,拒绝将 Istio 捐赠给中立的 CNCF,转而将包括 Istio 在内的旗下 3 个重要开源项目的商标权转移至一个由谷歌高层创建的新组织中。

此举也引发了 IBM、Oracle、CNCF、Istio 社区等相关生态参与者的不满,各方代表都下场公开指责谷歌违反了开源社区开放治理的精神。

我们曾分析过,谷歌近年来在开源领域的保守举动或许更多的是迫于市场压力。根据调研机构 Synergy Research 发布的报告显示,在 2020 年 Q1 全球云服务市场中,谷歌云的市场占比仅为 8%,远远落后于 AWS 与微软 Azure 。

而出自谷歌之手的 Kubernetes 作为全球云基础设施建设的事实标准,不仅没有给谷歌带来相应的收益,反而让竞争对手赚得盆满钵满。

谷歌现在之所以要将 Istio 等重要开源项目控制在自己的手中,似乎就是不希望重蹈完全中立开放的 Kubernetes 被竞争对手吸血的覆辙。

进击开源的微软

与谷歌在开源领域的“大撤退”相反,曾经的“封闭大魔王”微软近年来则在大举进击开源。

2001 年,时任微软 CEO Steve Ballmer 说出了那句著名的反开源口号:“ 从知识产权保护的角度来看, Linux 就是无可救药的毒瘤。”

而 13 年后,微软的新任 CEO Satya Nadella 在上任时却公开表达了微软对 Linux 和开源的“爱意”。尽管当时很多人都认为这只是微软的新营销手段,但微软之后的举动都证明了其确实在开源领域投入了大量的精力。

自新 CEO 上任以来,微软先后开源了旗下包括 .NET 在内的重要项目,推出免费且开源的 Visual Studio Code,将旗下产品全面支持 Linux 跨平台运行,陆续加入或参与建立各种开源组织等。

2016 年,微软成为了全球范围内为开源社区贡献代码最多的公司。2018 年,微软斥资 75 亿美元收购 GitHub,进一步巩固自己在开源界的地位。

当然,微软拥抱开源的举措也确实收获了成效。在 2019 年 Stack Overflow 年度开发者调查报告中,微软的 VS Code 已经成为了全球最受欢迎的开发平台,Facebook 官方宣布 VS Code 成为内部默认开发环境,非常大比例的谷歌工程师也开始使用 VS Code 。微软围绕 VS Code 打造的一系列开源工具链也成为全球开发者市场的最大赢家。

尝到开源甜头的微软也在云原生领域发力。2017 年,微软以铂金会员的身份加入 CNCF,成为 Kubernetes 生态的重要贡献者之一。微软旗下云服务商 Azure 也顺势推出基于 Kubernetes 的 AKS 业务,成为全球第二大混合云服务提供商,市场份额超越了 Kubernetes 的创建者谷歌。

如今,看到谷歌对 Istio 的专制造成的市场动摇,微软又果断推出 OSM ,试图进军 Service Mesh 市场分一杯羹。

身份互换

谷歌越来越封闭,微软越来越开放?这事搁十年前绝对让人难以置信,但如今似乎正在成为现实。

评论认为,谷歌为了自身的商业利益,选择背弃亲手扶植的 CNCF,不惜违反协议也要将 Istio 控制在自己的手中;而微软同样也是为了自身的商业利益,选择拥抱 CNCF,推出 OSM 以抢占 Istio 的市场份额。

也许事实就是这样,无论是谷歌还是微软,对于这些商业公司来说,没有永恒的立场,只有永恒的利益。结合历史来看,这场身份互换的游戏,似乎永远没有尽头……

代码语言:javascript复制

0 人点赞