分类 穿山甲专访 下的文章

引言

最近,我听到了一个消息,蚂蚁金服将会开源 SOFA最核心的两个组件——分布式事务框架和服务注册中心

熟悉中间件的朋友们都知道,这两个组件都是针对当前最火的微服务架构。其中,分布式事物框架是解决数据一致性问题的关键。服务注册中心则是服务治理的基础。在这两块开源后,SOFA 将成为一套真正完备的分布式解决方案

作为开源人士,我对此消息深感兴趣,因此联系到了蚂蚁金服中间件团队的杨冰总监,就此消息向他求证。机缘凑巧之下,杨冰花费了宝贵的时间,和我深入讲述了 SOFA 开源的思考,以及近期的规划。

通过这次交谈,也让我看到了一个成功的商业公司是如何拥抱开源、并将开源作为其根本战略来撬动技术红利,支持其急速发展的业务需求的

以下是正文,我将它分享出来以飨读者。


如今,开源已经成为主流,可以说,整个信息产业已经从过去的闭源模式转换为现今的开源模式。各种开源公司纷纷创新不同的开源模式,其中以 RedHat、Google、Facebook 等公司所取得的成绩最为耀眼。2018 年的时候,我曾经参与“开源社”主持的《2018 中国开源年度报告》的撰写工作,并建立了一个数学分析模型,以此来对中国的互联网公司的开源项目分析其活跃度和健康度。让我既感意外,也不意外的是,阿里系的开源项目占据了活跃度排行榜前五的第一、第二和第四;甚至在前五十个项目中,阿里系的开源项目占据了超过一半的份额!我不意外的是,业界一直对阿里在开源方面的动作和力度颇有感受;意外的是,这种力度还是超乎了我的想象。这其中包括阿里巴巴集团和蚂蚁金服等都贡献了相当可观的开源项目。

因此,这次遇到杨冰时,我就开源方面和他深入聊了几句,想了解一下蚂蚁金服是如何思考开源和践行开源的,是如何将开源与公司的商业价值有机地结合起来的

缘何开源

作为一家商业公司,宣称自己开源,甚至也形式上开源一些代码,其实已经是很常见的事情了。但是,真正能将开源与公司的技术演进相融合,并能有效地助推公司业务发展的,却并不太多。这件事其实并没有那么简单——远非只是上传到 GitHub 那么简单。

根据业界的经验,在公司的技术产品开源方面,要将现有场景的代码开源,至少需要在已经运行稳定、结构清晰的现有代码基础上多付出 30% 的技术投入,对代码进行梳理、完善和通用化,才能做到初步的代码开源;而进一步要将这些开源代码维护下去,乃至于和公司业务线上的产品代码保持同步发展,多付出的技术成本还远远不止这些。作为一个互联网技术老兵,我对此深以为然。

那么,蚂蚁金服是如何说服公司决策层在尚未看到开源回报的前景下,同意付出这么多的额外代价来支持开源的呢?推动开源的力量是因何而来的?

“首先,开源是个共赢的模式,对于蚂蚁金服来说,开源可以扩大技术服务场景,为支付、金融等更多的客户提供服务,提升合作伙伴的效率。”杨冰说,“虽然,蚂蚁金服已经有很多的业务场景,也在很多场景下取得了超大规模的实践经验,但是,依然存在没有覆盖到的金融服务场景。而将技术开源出来,可以供更多的客户应用到其自身的场景下——这些场景有效的补充了蚂蚁金服的技术应用面,也为更完善的技术框架奠定了基础。因此,我们选择将 SOFA 中间件框架逐步开源出来,在贡献给社区的同时,也期待社区、合作伙伴甚至客户,都能够一起参与共建,形成行业标准和最佳实践。

“其次,对金融服务来说,监管和自主可控的要求更多,”杨冰接着谈到,“客户也希望可以对其所采用的技术有更多的掌控。”开源是一种可以使客户和上下游产业共同参与和发展的可行模式。

“所以,其实并不是技术部门去说服公司决策层去开源,而是业务发展的自然选择,这也是一种合理的发展方向。”他总结道。这样的结果,其实是和当前流行的开源商业模式所暗合的。

“另外,如你所说,确实在开源时,我们做了很大的改造。以可扩展化的方式来层层构建 SOFA 框架的能力,保证 SOFA 的内部版本和开源的版本采用的是同一个内核。在开源时,剥离了特定业务的逻辑,而保持了公司内部的业务线上的代码和开源代码的核心是一致的。这样,只要公司的业务在持续发展,开源的代码就会一直维护和演进下去。所以 SOFA 的内部版本就是在开源版本之上扩展了内部逻辑和历史版本的兼容逻辑。开源版本的核心逻辑,内外是一致的,并在蚂蚁金服的生产环境中被广泛使用,同时会随着蚂蚁金服自身业务诉求的驱动不断的演进。”杨冰补充道,“但这是值得的,在为开源代码做改进时,也是为公司自己的业务做改进,这是双赢且可持续发展的。”

很多公司在初涉开源时,常常有疑虑,将核心技术开放出去,会不会导致竞争对手的技术提升,会不会造成更大的技术竞争压力?

“事实上,我们在最初准备开源时,也有讨论过这个方面。技术要被更多人用、更多场景用,才会有发展。而开放的技术才能带来团队的发展,因为技术是动态发展的,作为开源的一方,事实上在技术上是相对领先的。开源和掌握是两码事,掌握和用好又是两码事,所以,因开源而带来的竞争,其实是助推整个开源体系的发展的,是良性的、有益的。”杨冰说,“而从社区和行业现状看,大家都在开放,封闭的技术体系会逐渐落后。只有开放才能求同存异,共同发展。”

花絮

我问蚂蚁金服的朋友,在你们开源中有什么有趣的“段子”吗?可以讲来听听。

我朋友过了几天后,给我发来了这样一段文字:

“参与双十一的中间件团队的常态是什么呢?

当晚,团队的常态大概就是喝着茶等零点高峰,高峰期过了之后,当然就是参与买买买啦。

我们很多的一些事情的初始的想法都是来自于双十一当天的夜聊,似乎在经历了紧张的零点高峰之后,脑细胞特别活跃。

对于基础设施团队来说,双十一算是一次大考的结束,考完成绩出来了,我们就想琢磨一些有挑战的事情,于是我们会天马行空地聊一聊对于下一年在技术上需要去做的事情。而在 2017 年的双十一当天,SOFA 的几个同学就围在一起聊了 SOFA 能不能开源?为什么要开源?开源和商业化之间的关系?开源后要做哪些事情等等,这个算是 SOFA 开源的第一次内部讨论。

从这次内部讨论之后,经过了大约半年的准备时间,我们在 2018 年 4 月份正式宣布开源并一直在逐步开源的进程中。”

他说,这就是他们憋了半天想出来的“段子”,哈哈哈,这群可爱的技术人啊。

SOFA 的演进和开源之路

SOFA 中间件框架是蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,是一套分布式架构的完整的解决方案,也是在金融场景里锤炼出来的最佳实践。

SOFA开源全景图,涵盖了微服务领域的各个方面,同时也积极和业界流行的开源组件结合,包括阿里巴巴集团开源的Nacos、Sentinel等,为用户提供更加广泛地选择。

SOFA 作为一个演进了几年的框架,也一定程度上代表了蚂蚁金服的技术体系的演变,并且现在形成了开源核心、开放式(组件式)开源的模式。SOFA 从 2018 年开始开源,但是我比较好奇 SOFA 开源之前的发展旅程是怎样的。

杨冰说,“最早的时候,在蚂蚁金服还没有从淘宝分拆出来时,公司内使用过一个名为 Webx 的框架,但是随着业务的发展和技术的演讲,这套框架已经不太适应淘宝的需求。那个时候胡喜(现蚂蚁金服副 CTO)就重新创建了一个新的框架——SOFA 中间件框架。”

SOFA 中间件在蚂蚁内部经历了十年的发展和五代架构的演进,被广泛应用在包括支付、借贷、信用、基金、保险等全金融场景,支撑着蚂蚁平稳度过历次双十一、双十二、新春红包等大考,创造了 25.6 万笔每秒的交易记录,并还在不断刷新这个记录。

“SOFA 的版本迭代和公司的架构发展是密切相关的。比如说我们从 SOFA1 刚刚开始的时候,会做模块化的事情。到了 SOFA2 开始引入整个微服务的体系。到 SOFA3 我们希望能够在微服务体系下,能够把一些服务聚合在一起,组成一个链路出来,这就是我们说的合并部署。”

“随着每年的交易量的不断上升,让我们必须从单体架构转到服务化架构,然后演进到单元化架构、弹性架构。SOFA 大部分的功能升级都是伴随着整个公司的技术架构目标上的更大挑战进行的。”杨冰说,“我个人是经历了 SOFA1 到 SOFA2 开发过程,从 SOFA1 整体完成落地,到 SOFA2 引入了服务的架构。到了 SOFA3 我们把 Tomcat JBoss 那层替换掉,变成自研的应用服务器,解决了我们内部系统做类隔离、模块隔离以及合并部署的问题。”

SOFA4:迈入开源

正如前面所谈到的,开源既有的代码是需要做许多繁重的工作的,所以, SOFA 直到发展到第四代才为开源做好了准备,并将开源作为 SOFA4 的核心目标。

“SOFA 发展了这么多年,是有非常重的历史包袱的,这也是我们为开源准备了非常长时间的原因。在从 SOFA3 到 SOFA4 的整个过程当中,在把整个 SOFA 做轻量化的过程当中,其实就是在为开源做准备。有一些公用的能力(和蚂蚁金服的整个架构或业务没有强相关的部分)我们都希望可以开源出来。我们做开源这件事情不会把我们代码分为完全两套东西,然后两个分别演进,我们觉得这不是开源的正确做法。”杨冰说,“另外,开源对我们整个团队的消耗是非常大的,我们希望用同一套代码来实现内部的兼容和外部的开源,我们会在开源的代码当中留一些比较好的扩展点,这也是对我们本身代码架构可扩展性的挑战,目前我们做到的程度就是这样的。”

SOFA 从 2018 年 4 月开始对外开源,得益于社区和开发者的认同,在经历了半年多的时间,SOFA 所有相关的开源代码,获得了累计 10000+ 的 Star和 80 多个代码贡献者

在线上社区方面,SOFA 开源的站点(https://www.sofastack.tech/)也是在不断沉淀相关的文章和文档。

杨冰说,“原先我们觉得开源就是最好的,然而在 SOFA 演进的过程中,我们发现我们的场景足以构建出来比开源软件复杂度更高、能力更强的体系。我自己也在参与这个的过程当中收获了很多。这件事情也是从一个侧面反映了蚂蚁金服技术演进的历程。我们从最早的 IOE 架构,到部分采用开源软件,再到逐步开始全套自研。在自研过程当中,拥抱部分开源软件,并且去做深度的创造,做一些自己的创新。整个过程其实是一条非常艰难的路。”

杨冰说,“我认为整个基础设施是应该走开源化道路的,因为从 Linux 到 Kubernetes,已经被一次又一次地证明。越底层的基础代码,包括 SOFA 中间件这样的东西,看起来逻辑没有业务系统那么复杂,然而其实它考虑的一些细节、设计的优雅性、架构的健壮性其实是非常强的。而且,它一旦要去支撑那么多业务系统,整个工程的复杂度也是非常高的,很难用一家公司的程序员去搞定整个技术栈。SOFA 也是一样的,我们越来越发现这方面的一些趋势。我们靠一己之力去做是很难的,再加上我们既要对内支撑又要对外支持。现在明白了这样一个趋势,因此我觉得应该回馈社区,和社区共建才是比较好的一条路。以 Linux 为代表的疯狂发展,以及伴随着而来的商业化生态的繁荣,是一次又一次向世界证明,开源和商业化的结合是可以非常完美的。”

SOFA5:拥抱 Service Mesh

从多年前的 SOA 架构,到现在的容器化、微服务的技术演变,我们可以看到虽然技术在逐步变化,但是其主体指导思想还是一脉相承的。蚂蚁金服在微服务方面已经走到了探索的前沿,那么,当前的 Service Mesh 技术在 SOFA 的发展过程中会起到什么作用?

“这两年我们在积极拥抱、布局 Mesh,在演进方向上,我个人比较关注 Mesh 这个方向,因为我个人认为这是把基础设施沉淀到我们整个技术平台当中非常关键的一环。这也是我们 SOFA5 的主要目标。”杨冰说,“随着容器技术的兴起,可以将以往的中间件组件拆分的更细、更灵动,而资源利用率和运维效率也得到了进一步的改善。”

近年来,随着 Kubernetes 确立了其在容器领域的统治地位,以及Serverless 模式等不可变基础设施的架构进一步成熟,可以将服务在上层进一步进行抽象,为现在大规模的容器化、微服务化奠定了坚实的基础。

也有一些业界的意见认为,Service Mesh 将会取代中间件。

杨冰认为,“蚂蚁金服已经在中间件方面探索的比较深远,规模也相当的大,为拿到业务红利做了很多优化,这些能力还是会存在,只是通过换了一种跟应用集成的方式,让 SDK 变得更轻。随着基础技术平台逐步走向云化,我们认为 ServiceMesh 将会是连接现在这个时代和云原生时代的桥梁,而且无论中间件还是很多基础技术组件都将走向 Serverless。Serverless 对开发者而言将是一种全新编程模型,对运维人员而言则是颠覆性的运维模式,甚至是一种 Opsless,我相信广义的 Serverless 模式会成为云原生时代的主角。”

Service Mesh 这个新兴领域是很大的一个热点。蚂蚁金服和社区一起共同发起了 http://www.servicemesher.com/ 这样一个针对中国的Service Mesh 领域开发者的社群,有很多的志愿者,蚂蚁金服是其中之一。

在蚂蚁金服的Service Mesh领域,涉及两个开源项目SOFAMesh和SOFAMosn。这两个项目的定位是这样:

  • SOFAMesh 项目:是蚂蚁金服 Service Mesh 的控制平面,分支自 Istio 项目。在Istio体系和框架内进行了功能补充、扩展、增强和改进,立足于探索并解决 Istio 生产落地,尤其是大规模落地中遇到的实际问题,在充分验证之后贡献回 Istio 上游。
  • SOFAMosn 项目:蚂蚁金服新型的基础设施和中间件的底层网络通用解决方案,可以有多种产品形态。在蚂蚁金服 Service Mesh 中承担数据平面的角色,和 SOFAMesh 项目配合使用,兼容 Istio 体系。此外 SOFAMosn 还将用于 Ingress / API Gateway / Serverless Function Gateway 等场景。

目前蚂蚁金服开发团队已经和 Istio 开发团队建立联系,在 Istio 大规模落地方面进行合作和探索,相关实践和创新会在生产验证/代码稳定之后会贡献出来。

Service Mesh 是一个非常新的技术,Istio 也是一个新兴的项目,在生产落地上存在很多需要了解的细节和可能遇到的各种问题。而且有些需求是有共性的,如 RPC 协议的支持,旧有非微服务应用的支持, 现有应用升级 Istio 的平滑迁移等。

“我们开源 SOFAMesh 和 SOFAMosn,一方面是希望可以将我们在 Service Mesh 和 Istio 落地的知识和经验分享出去看,另一方面希望通过开源共建的方式一起来将这个两个项目做的更完善。”杨冰说,“我们虽然现在开源出来的版本还不多,但是未来我们会把整个金融分布式云原生架构的领域补齐,一方面会把内部同领域产品更完整的开放出来,另一方面和每一个领域的社区实现都做到兼容和可互相集成。”

NEXT:分布式事务以及服务注册中心开源

蚂蚁在 2007 年就开始在核心的业务中去使用自研的分布式事务框架去解决服务化以及数据库拆分后的数据一致性问题,经过 10 多年的演进,SOFA 的分布式事务框架得到了蚂蚁内部业务广泛地使用与锻炼,包括蚂蚁金服最核心的交易、支付、账务系统等,在期间,SOFA 分布式事务框架也演化出了针对不用的业务场景的使用模式,兼顾研发效率与性能。而阿里巴巴前几个月也开源了其分布式事务框架 Fescar,蚂蚁金服和阿里巴巴将在分布式事务这个领域上强强联手,SOFA 的分布式事务框架将与 Fescar 合并,为业界提供更加优秀,更加全面的开源分布式事务解决方案

服务注册中心是微服务领域的重要组成部分,SOFA 的服务注册中心最早源自于淘宝的初版 ConfigServer,在支付宝/蚂蚁金服的业务发展驱动下,近十年间已经演进至第五代,具备无限水平扩展,高效的推送以及基于 AP 架构高可用能力,同时结合 SOFARPC 具备异地多活单元化架构支撑能力,SOFA 服务注册中心的开源将会极大丰富整个 SOFA 开源的生态体系,也为微服务领域带来一个全新的服务发现解决方案。

总结

纵观蚂蚁金服的 SOFA 中间件开源的历程,我们看到了一个大型的商业公司是如何将开源核心模式和其商业模式紧密结合的;其走过的从采用专有软件、应用部分开源软件、演化自身的自研软件,到开源核心软件、全面拥抱开源世界的路径值得很多技术企业学习和思考

“穿山甲专访”栏目是 Linux 中国社区推出的面向开源界、互联网技术圈的重要领军人物的系列采访,将为大家介绍中国开源领域中一些积极推动开源,谙熟开源思想的技术人,并辨析其思考、挖掘其动因,揭示其背后所发生的事情,为关注开源、有志于开源的企业和技术人标出一条路径。

取名为“穿山甲”寓意有二:取穿山甲挖掘、深入之意来象征技术进步和表征技术领袖的作用;穿山甲是珍稀保护动物,宣传公益。

UCloud 技术副总裁杨镭首谈 UCloudStack、保护客户隐私、回馈开源社区背后的故事和挑战。

日前,Linux 中国社区的老王参加了 UCloud 用户大会,并有幸和 UCloud 技术副总裁杨镭进行了面谈。以下将我们谈话中一些内容分享给大家。

杨镭,UCloud 技术副总裁。全面负责 UCloud 产品研发和产品运营工作,有超过十年 IT & 互联网行业从业经验,在网络领域拥有丰富的经验和深刻的理解。

为什么专门开发了 UCloudStack?

今天的大会上面您提出一个针对私有云的 UCloudStack是否可以给我们详细介绍一下为什么在有了生态很成熟的 OpenStack 的情况下,UCloud 还投入了巨大的资源去研发UCloudStack

杨镭:

我们在 OpenStack 上做的还比较早的,当时我们的认知就是公有云是公有云,而私有云 OpenStack 做的比较好。但实际上,通过不断的时间验证,我们发现 OpenStack 有一个比较大的问题,就是过于复杂。

回到用户对私有云需求来讲,用户实际上关注的还是能不能解决他的需求,而不是说要不要用 OpenStack。所以,我们考虑到,既然已经有了多年的云计算的开发和运维经验,如果从头开始做一个自己的私有云产品,是不是会做的更好?

我们做了 16 个月就做出来了这个产品,在完成核心产品之后,整体的代码量还是很少的。代码量是相对来讲是衡量一个项目复杂性的很好的指标。我们根据自己这么多年来的经验做下来,我们发现这个事情并没有那么的难,而且,现在这个时候,在做这个产品的时候认知就和几年前不太一样,我们会比以前想的成熟很多。我们相信做出来的东西会比 OpenStack 更轻量、更好用,这是我们做这个产品的一个主要的想法。

其实现在真正能自己独立用 OpenStack 产品的公司一般都有一个一定规模研发的团队,至少十个人。但是云计算这个市场的人才竞争还是蛮厉害的,一个公司很难有这样一群比较好的人去做这个事情,所以它的门槛会很高。如果说公司的目标只是为了有一个私有云,那么这样研发投入的必要性是打问号的。这些企业的目标和我们云服务商的目标不一样,它的云只是一个工具,不像我们的云是我们本身的一个产品。所以这时实际上企业往往会考虑说怎么能把这个私有云更好的建起来,很快、很稳定的用起来,在成本上比较合理。所以在我们的这个产品上,我们最重要的一个点确实就是在轻量上。

假如你对 OpenStack 需要做一些改动,是牵一发而动全身的,为了做某个功能可能要改造底层的东西,这个时候整个过程在研发上来讲就太“重”了,所以我们如果从零开始做,其实我们的底层就是可控的。我们在第一次推出的时候,我们总的代码量才八九万行,而 OpenStack 所有项目代码量加起来有几千万行,这之间的复杂性灵活性是完全不能比拟的,这是它的一个轻的主要原因。

另外一个,因为我们做这个产品的目的性会比做一个开源的社区项目更明确一点,比如说我们做产品的路线很不一样。当我们的核心产品完成以后,我们做的一个比较大的改变是和传统的网络打通,我们 UCloudStack 部署完了以后和传统的网络做很大的打通,这点和开源社区项目的目标不一样,它要让这个东西更加通用。这在产品的改变选择的路径差别特别大。这个时候看用户要什么,往往用户要的东西更贴近它想要的,这里面也是一个很大差异点。

今天本来想放一段视频,那段视频是当时在富士康的办公园区里面拍的,当时是下午四点钟进入机房到晚上十点种整个私有云的交付就完成了。而且当中大概有 2-3 个小时是因为机房的一些问题影响了整个的进度,如果看到那个视频就会真正感觉到它很轻,但一般而言 OpenStack 部署起来时间会更长,比如说好几天的时间,它的底层太复杂了。

我们一直认同的一点是说,开源软件比较适合做一个组件,比如说一个数据库、一个操作系统、一个很垂直的部分。但是云实际上不是一个垂直的组件,而是很多组件组成在一起的一个体系。如果你去用开源软件做组件的方式去做云,这其实不是特别的理想。

为什么将客户隐私保护拔高到这样的高度?

今天上午大会上您提到一个隐私的产品,禁止一些 API 采集用户数据,来保护用户的隐私,这方面能够详细谈谈吗?

杨镭:

这个我需要澄清一下,我们说的是禁止我们的云平台收集我们客户的信息,而不是说我们禁止了客户收集他的用户信息。因为我们是给企业提供服务的,企业本身给他的终端用户提供服务,我们控制的是我们和企业之间数据的隐私问题。比如说它的使用习惯是什么,或者它业务的模型是什么,我们在控制这个。

因为我们自己是做云服务的,我们的技术工程师在管理我们云业务的时候,实际上是有可能看到用户的数据。比如说你是一个电商公司,假设你的数据库如果没有进行加密,技术人员是可以看到这个数据的。目前来讲绝大多数的厂商,靠的还是流程和制度,靠的不是技术手段保护。什么叫技术手段,就是说我想看却看不到,因为是加密的。你只有拿到相应的解密密钥才能去看。我们说的数据保护更多的是这方面。

再比如说我们的云主机最终跑在 SSD 硬盘上,如果你去机房里把硬盘直接拔插走,而没有加密的话,一定是能读到里面的数据。从长远来看,这是不能出任何问题的,哪怕是一两次。像某互联网公司出了几次乘客的安全事件以后,事情影响就非常恶劣。回到做云服务,我们的责任一样重大。我们如果只是一家公司,也许我有的只是很特定的一些数据,但是作为做云服务的公司,我们上面的客户不是我们能决定的,要看客户自己做什么业务,所以我们上面有几十万,甚至几百万的数据,这是一个非常长远、需要很认真对待的事情。所以我们把这一点放到了一个很高的、甚至于到我们企业文化和价值观的角度。

作为一个工程师来讲,首先我们要有价值观,这是第一点,但是也要从技术上保证,所以我们未来会在这方面投入很多的技术研发工作,来实现比如说我们自己的技术工程师没有任何可能能看到我们客户数据。这里面实际上是有很多的技术工作要做的。

在我们刚刚做云的前两年,那时候如果去对数据做加密,就会严重影响到性能。这个时候你很难两者兼得,但是随着这几年的技术的演进,很多的加密算法被逐渐的优化以后,基本能做到做了加密也不怎么会影响性能。所以现在这个时代,是一个非常好的时机,是一个你应该要去做这件事的时机。

整个这个事情大概我们是这样看的。除了数据的加密,包括用户有时候会输入给我们很多数据,他在做一些操作需要提供身份信息,比如说现在网络安全法要求用户使用要做实名认证,也就是说他的身份证会上传到我们这儿,这些数据其实是一个很隐私的数据。这件信息的泄露是一次都不能发生的,所以我们如果回到最根本的来说,我们怎么样尊重我们的用户?这个事情其实比一些产品功能更重要。

我们不希望出了事故以后我们再做一些补救的工作,那时候即使你是真的去做,你的用户也已经受到了很大的伤害。

另外一个层面,我今天没有提到,因为云计算的公司,我们特别需要最顶尖的技术人才,我们这么多年来在吸引最顶尖的人才上我们逐渐意识到靠的不是钱、待遇,或者是一些职位。最优秀的顶尖技术人才,看的是你公司的理念和价值观,比如说谷歌、苹果他们有非常多的几十年的行业人才在里面,为什么?他们做的工作就是数据安全性、隐私就这方面的工作。所以我们也是在商业的进化过程中,我们发现要做一家几十年的公司,不是靠一两年的财报,而是靠这些背后的东西,这是我们很真实的一个自己成长的过程。

对开源社区的回馈

我们非常关注 UCloud 在采用开源软件方面的情况,云服务商的很多基础设施都是基于开源软件的。目前UCloud在开源方面对上游社区的贡献情况怎么样?

杨镭:

我们目前在开源方面目前做的工作还不多。但是为什么不多?不是我们不想做,而是因为我们处在一个技术竞争特别激烈的行业里面,你的产品实际上卖的都是技术。我们的技术人员这么多年来其实一直不太够用,所以我们绝大多数的精力是在做我们自己不得不做的事情,比如说今天说的网络架构的透明升级,这个事情实际上把我们的核心人员的精力全部消耗掉了。为了这些升级,我们要跟客户沟通好这个事情让客户放心我们才能做,这也是为什么我们会做 29 个月的原因,其中有 9 个月是跟客户沟通的过程中。我们的人并不是很多,我们对自己产品的要求还是蛮高的,在这两个因素影响下,我们也很难拆出精力来更多的主动回馈社区。

但是这一点上我们想法是很明确的,只要我们现在有精力就会回馈社区。比如说这次做的 25G 的网卡,这个解决了一个核心障碍,我们把这个东西交给上游,但是从整个公司来讲这块投的人员和精力还不是很多。像我们开源的命令行工具,我们和 Hashicorp 做的整合,这些我们全部开源了,但是这些还远远不够。其实开源,也是想让用户知道你的代码到底怎么写的,只是说这里面是一个精力问题,不是意愿问题。

我们在 2013 年做了一个内核模块,是可以把 SSD 盘加速 100 多倍,由于一些原因,我们的代码是针对某些特定场景的。同时在代码的规范上也做了一点牺牲,如果要开源,相当于要额外增加 30% 的工作量。但是我们现在一直在想,就像今天举的例子,把很多东西开源,尽量的变成工具化,而不是放在 UCloud 的内部一个产品,只是我们精力不太够。

最近 Redis、Kafka、ES 这样的软件都在许可件上改了自己原来的开源许可证,针对云服务商提出了特别的条款。比如说云服务商用 Redis给客户提供服务,但是很少对 Redis 进行社区回馈,所以云服务商需要额外采购商业许可证,您怎么看这个事情,UCloud 怎么面对这个情况?

杨镭:

目前来看,我觉得确实云服务商对社区的回馈是偏少的,所以说我觉得 Kafka 和 Redis 在这个事情上他们是有一定的道理。但这个事情也不能单方面的看待,因为实际上云厂商在推出 Kafka、Redis、ES 产品时,其实也帮这些开源软件做了很多的推广。Redis 比较简单,Kafka 或者是 ES,其实还是一个蛮复杂的软件。云厂商将这些组件加入平台后,把最复杂的地方把简化了,用户甚至连性能维护都不用考虑,另一个维度来看相当于推广了 Kafka。我认为云厂商或者是以此谋利的厂商,他应该做足够的回馈,不管你是以钱的方式,还是以研发的方式,我觉得是应该回馈的。


和杨镭的沟通当中,我们还谈到了许多其他问题,这里限于篇幅就不展开叙述了。从上面的谈话当中,我们能感受到 UCloud 做为一家新兴发展起来的初创公司,无论是在技术还是企业价值观方面,逐渐形成了自己独有的优势。其实作为 UCloud 多年的老朋友,这次参加这个大会,让我意外的是,原来我对他们的了解还所知甚少;也为他们在隐私保护、技术研发等方面默默做的工作而吃惊。希望这些技术人可以秉持初心,真正做出一个好用、值得用的产品来。

“穿山甲专访”栏目是 Linux 中国社区推出的面向开源界、互联网技术圈的重要领军人物的系列采访,将为大家介绍中国开源领域中一些积极推动开源,谙熟开源思想的技术人,并辨析其思考、挖掘其动因,揭示其背后所发生的事情,为关注开源、有志于开源的企业和技术人标出一条路径。

取名为“穿山甲”寓意有二:取穿山甲挖掘、深入之意来象征技术进步和表征技术领袖的作用;穿山甲是珍稀保护动物,宣传公益。

先分享一个好消息:今天 《麻省理工学院科技评论》 MIT Technology Review 杂志揭晓 2017 年全球青年科技创新人才榜(TR35)评选结果,阿里巴巴人工智能实验室首席科学家王刚、阿里云首席安全科学家吴翰清脱颖而出,获此殊荣。

TR 35 获奖者 吴瀚清

TR35 是一个针对 35 岁以下青年科技才俊,为找出最有可能改变世界的牛人而设立的奖项。

自 1999 年以来,该杂志每年会在全球 IT(计算机、通信、网络)和生物医药、商业等领域内,从影响力、创新力、进取力、未来潜力、沟通力五个维度进行评估,挖掘学术界和工业界的 35 位科技创新精英。

从以往的上榜者来看,说 TR 35 是预言人类进程的先知也不为过。Google 联合创始人拉里·佩奇(2002 年)和谢尔盖·布林(2002 年),Linux 之父林纳斯·托瓦兹(1999 年),Facebook创始人马克·扎克伯格(2007 年),Yahoo 创始人杨致远(1999 年),Apple 设计总监乔纳夫·伊森(1999 年)等,都曾是该奖的座上宾。如今,他们正在改变我们所处的世界,甚至影响人类进步的方向。

正因如此,TR35 的门槛极高。据统计,从 1999 年到 2016 年,共评选出 820 名 TR35,中国入选者仅 17 人。今年,阿里巴巴有两位科学家同时入选,创下中国互联网科技企业的先例。

非常荣幸,上月在北京举办的网络安全生态峰会上,我与吴翰清有过一次深入的独家专访。本文特别采用问答形式,希望还原吴翰清在技术领域的深度思考。

一、云计算终极目标:实现飞机那样的技术普惠

老王

网络攻击和渗透行为日益增多,给社会和企业带来巨大危害。但并不是每个企业都有足够的预算和技术能力来迎接安全风险的威胁。

安全服务也能像水、电、网这样的基础服务一样,可以随时购买、随时使用,而不用关心很多引擎盖下面的技术细节?

吴瀚清

我自己觉得这个问题得分成两部分来看。

首先,今天整个云端团队,或者阿里云安全团队希望成为互联网安全的一种基础设施。既然它是基础设施,它对于很多的人来说,就应该是普惠的,如同今天的水、电、网一样。在这个层面上来讲,我们希望把安全服务做的更加的透明一些,更加的无感知一些。

从技术的角度来讲,有一些问题通过弹性安全网络就有可能解决掉。

但网络安全服务其实是一个研究对抗的问题,只要是人与人之间的对抗,只要还要有坏人存在,就一定有新的安全问题会涌现出来,只是会随着技术发展不断更新。

比如,过去从 PC 走向了互联网、移动互联网,再走向 IoT,所有的安全问题也是跟随着 PC 的发展,然后到互联网,再到移动互联网的安全问题,到未来是研究 IoT 的安全问题。

另一方面,其实我觉得云计算的安全方面,或者云计算本身,它非常像飞机。比如说你要造一架飞机,用到的技术是极其复杂的,但是今天我们每个人都能够用非常便宜的价格,去享受这个航班的服务。所以我觉得这就是里面的差别。

就是说,我们要重新去发明一项技术,把它做到足够成熟是需要非常专业的人,花非常大的代价去把它做出来的。但是,最后我们要把这个非常复杂的技术,做到每个人都能够用。每个人都能够用最低的成本、最低的门槛去使用。

我觉得这个就是云计算所要追求的目标。就是要让技术变的普惠。让每个人都能够非常简单的去用非常复杂的技术。

对于普通客户,他并不需要理解一架飞机的原理,它只要能乘坐就好。

二、安全边界将会越来越模糊

老王

怎么样才能让用户,在需要时能够感知到安全,没有遇到安全问题的时候实现隐形。这个安全边界是怎么确定比较好?

吴瀚清

AWS 提出了责任共担模型,他们认为操作系统之下的都是他们来负责;操作系统之上的都是客户自己来负责的,比如客户自己写的应用,比如自己管理的一些系统,比如客户配置出现了问题,都是要客户自己来负责的。但是操作系统之下,进程本身的安全,包括底层基础设施的安全,这些都是由 AWS 来负责。他们把这个边界划在这里。

但是我觉得这个边界,也不是一成不变的,它会随着软件架构的演进而不断发生变化。

边界会越来越模糊,而且我们整个技术是在进步的,所以在我的理解里,云计算是不需要像 Windows 跟 Linux 这样的 PC 时代的操作系统的。

因为今天大量的云时代的应用,或者互联网时代的应用,实际上就是用代码直接操作数据,其实并不需要关心底层操作系统。从这个角度来讲,今天这些程序员写代码的方式将来都是需要变化的。当计算时代真正到来的时候,比如说现在 AWS 就在推 serverless 这样的一些东西,谷歌也有 GCE,类似这些东西,实际上它真正代表的是未来我们写代码操作数据的方式。

所以回到未来来看,今天你所关心的很多的软件问题,在那个时候已经不再是一个问题了。因为都被云计算公司封装到了它的责任范围之内,所以我觉得这条线、这个边界是在不断地演进的,而且它的封装是越来越完整的。

三、未来五年,安全看 IoT AI

老王

你们现在有没有考虑到三年、五年以后的安全势态会怎么样,会不会研发相应的产品和技术?

吴瀚清

我觉得未来要抓的两件事情,还是相对比较明确。

在战略思考方面,第一个就是抓 IoT。可能在整个 IoT 这方面,最根本的一个东西就是认证体系,它应该是从一个硬件芯片开始,通过证书做硬件的加密和认证,然后通过信任链的传递,在整个 IoT 里面我们就会有一个可信的计算环境。我们今天在 IoT 的安全方面,已经有一些解决方案。

另外一件,我觉得 AI 是我们这个时代接下来需要重点去抓的事情,它带来的这个变化,可能会超过我们所有人的想象,它可能会像手机出现的时候,会对这个世界带来这么大的影响和变化。所以今天如何把 AI 应用在我们安全技术本身,这个是我们今天要去思考的。

四、对网络暴力斗争到底

老王:

在安全圈子里,有没有攻击者和厂商互相勾结?

吴瀚清

从这个行业乱象来讲,今天一定存在你刚才说的这种黑与白的互相勾结,或者收取保护费的事情。

特别在我所了解的高防这个产业,实际上有一些这样的乱象的,就是攻击者和收保护费的实际上是同一波人。但是今天从其他的一些我所了解的一些厂商来说,比如说像今天的阿里,或者我们的一些友商,他们是绝对不会做这种事情。

因为对于阿里自己来说,对我们来说每一次大的攻击的挑战,实际上都是一次磨炼我们技术的机会,如果我们不去正面迎接这种挑战,我们的技术就不会进步。错过了我们技术进步的这个机会,我觉得这才是对阿里来说更大的一个损失。所以面对这种网络暴力,实际上我们更加采取的是这种绝不宽容的这种态度,一定会去斗争到底的。

五、安全和开源、闭源没有关系

老王

你对开源与安全是怎么看的?它们之间有没有必然联系?有什么样的联系?

吴瀚清

我觉得安全不安全,跟开源还是闭源没有直接的关系。但是它跟这个软件背后的这个运营方是有关系的。

比如就开源软件来讲,有很多很多的开源软件,确实对整个互联网作出了不可磨灭的贡献。但是也有很多开源软件,它的软件开发者是非常、非常缺乏安全意识的。

像 Linux 这种,它本身有一个非常好的基金会,它的开发者都是非常资深的软件工程师,本身又有非常好的安全意识和非常完善的机制。从这个角度来讲,Linux 本身的安全,我觉得是做的非常不错的,而且它也在持续的、不断推出一些新的安全功能。

回到闭源软件这一边,比如微软本身就建立了非常好的一个应急响应机制,它本身建立了非常大的安全团队来做安全这个事情。从这个角度来讲,微软的安全也做的不错。

在我看来,更重要的应该去关注应急响应,这应该是整个安全机制里面最重要的一些事情。甚至我觉得,应该占到整个安全工作的 50%。另外 50% 的工作就是检测,所以安全实际上就是做两件事情,就是检测和响应。

所以在这里面我们做的很多工作,都可以看成应急响应的一部分。比如说你发现问题之后,你去做这个漏洞的修补,以及定期检查之后做的加固。包括通知机制,实际上都是应急响应需要去做的。应急响应不仅仅是解决具体某一个漏洞的问题,它还包括一系列的问题,包括安全的分析,以及产品能力本身的提升,比如说这次响应没有做好,下一次你的产品是不是有更强的能力来提升?

同时这还涉及到一个对外舆情的问题。这种应急响应是不是会带来恐慌?比如说有一些安全问题,完全是炒作漏洞,很多客户就会引发恐慌,这时候你能不能通过技术分析出来拨乱反正?所以有很多这样的问题,综合起来就会变成一个体系。

我们觉得今天可能更多的东西,应该是从实践中来的。所以几乎阿里云每周都在进行安全响应,每周都在响应两到三次。所以就会把我们的一套非常高效的流程给逼出来。

在未来我们也希望在这一块能够帮到更多的企业,我们在应急响应这块,也希望能够推出更多的产品和服务。

六、坚持产品的使命是最根本的东西

老王

你是阿里云的初创成员之一,也是阿里云安全团队初创成员。是否可以分享一下如何规划团队的技术和发展?

吴瀚清

阿里本身也是一家使命驱动的公司。所以这两点,造成我们的做事方式实际上还是有迹可循的。

今天在所有的战略思考和所有的坚持上面,我们的使命一直是建设互联网安全的基础设施。

从这个角度来讲,我们会做很多、很多的东西。我们现在的产品,不管这个产品的形态如何发生变化,可能会经历一些阶段性的失败,但是我们的产品,最终它要去的那个地方,是始终没有动摇过的。

像我们的高防产品,我们第一天就打出一个使命,就是我们要消灭互联网的 DDoS,这是我们和其他所有做高防产品厂商的区别。他们都是希望 DDoS 存在的,因为这个能带来业务收入。

但是我们今天不在乎靠这个反 DDoS 产品赚钱,虽然今天我们的主要收入确实来自这个产品。这是一个现状,但是未来我们要去的地方-------我们是希望消灭整个互联网的 DDoS 的。我也觉得,只有真正到了那一天,我们对这个互联网和对这个社会的贡献的价值足够大,才会有足够大的商业空间诞生出来。我觉得这是我对整个商业的一个理解。

所以我觉得,今天在整个使命愿景的坚持上面,是我们最根本的东西,今天经历的所有的波折,实际上都是可以根据时间随着来调整的。

七、给年轻从业者的建议

老王

现在有很多年轻人想从事安全服务行业。作为一个资深的网络安全专家,有什么建议?

吴瀚清

我觉得主要是三件事情。第一件就是多看一些书;第二件是多去见一些真正优秀的人;第三件是多经历一些事情。

回到安全服务这个行业,我觉得除了多看书之外,动手能力是最重要的。我觉得这个对于所有从事计算机产业的年轻人,都是非常重要的一个建议。就是动手远比从书本上看东西要重要------当然看书也很重要。

再就是能够多接触一些行业里面真正优秀的顶尖人物,我觉得这是需要他自己不断去找机会去拓展的。

安全这个行业,我觉得跟其他产业不太一样的地方,就是在于今天我们是在里面有一个对抗存在,涉及到正义与邪恶的,我希望未来的年轻人不要走上邪路,要站在正义的这一方,真正成为光明的守护者,去保护我们人民财产的安全。

采访后记

对吴瀚清的采访就到这里,从和吴瀚清的交谈中,我能体会到真正纯粹的技术专家的赤子之心,也能感受到吴瀚清和他的团队对安全的热爱和社会责任感,其所一直践行的,或许就是他的“道”吧。

采访者:老王,Linux 中国开源社区的创始人,曾任职亚信旗下的玛赛系统安全公司的华东区技术总监,中国电信系统集成公司网络安全事业部高级专家。

阿里云云栖大会6月15号在厦门盛大召开,我们有幸和阿里云资深总监李津面对面进行了交流,就阿里云在云计算方面的一些发展和战略进行了较为深入的讨论。

这次谈话是在李津(以下简称李)、Linux中国的创始人王兴宇(以下简称王)之间展开的。通过这次讨论让我们对阿里云有了更新的认识。

话题是先从 HTTPS 云加速引开的

王:在之前已有消息说阿里云在开发 HTTPS 云加速的服务,而业界,包括国内已经有云加速服务商提供了 HTTPS 云加速服务。不知道阿里云这方面的进展如何?

李:阿里云的 HTTPS 的云加速其实从技术上已经完成了,目前还在调测一些用户体验的部分,技术上并不是障碍,关键是易用性。HTTPS 云加速事实上是基于 CDN 做的,但是这里还有一些需要完善的部分,CDN 本身是一种管道,解决了从 CDN 到用户的加密传输,但是还需要解决从源站到 CDN 节点间的传输。如果用户本身没有支持 HTTPS ,那么还需要考虑从源站到 CDN 节点之间的传输问题,而部署 HTTPS 对于不少客户来说还是比较复杂的,很多用户希望有一键部署的体验。

此外,对于已经部署 HTTPS 的用户,他们还是愿意将其私钥放在自己控制的服务器上,而不是放到阿里云的 CDN 节点上,对于这种情况下,有两种方式:一种是采用伪密钥的方式,即由 CDN 提供证书给客户,另外一种是客户将自己的 SSL 证书上传,这可以是上传到一个信任的第三方的黑盒中。

窦:说到证书服务,阿里是否有计划建立自己的 CA 或者购买一家 CA 服务商?

李:CA 服务商最重要的不是颁发证书,而是要对所颁发证书的可信性进行背书。颁发了证书就要确保该证书所保护的信息具备起码的安全水准,有些 CA 服务商这方面做的还不够。不仅仅是用户购买就颁发证书,而且要对客户进行检查和判断,判断是否达成安全可信标准。CA 服务商不是一个生意,更多的是一种保障的能力。

王:如果阿里云提供 CA 服务,是否会采用类似 Let’s Crypt 这种免费模式?

李:如果不叠加更多安全服务,是可以采用免费摸,但是如果叠加了比如扫描检查等增值服务,就需要商业收费模式。这些年来,对于安全方面的承诺,需要越来越慎重, CA 证书代表的是信任所传递的责任。

云计算的新形势下,基础运维的变化

窦:云计算让运维行业迎来了第二春,对运维人员的界定也在发生变化。那么您认为将来运维行业会发生什么变化?

李:首先,云计算是从运维上发展起来的一个方向,而不是一个自顶向下的变化。其次,随着 DevOps 的流行,开发和运维在某种程度上是融合的,今天的运维人员已经有能力和空间去做一些更应该去做的事情了,而不仅仅是守在机房整理机架。运维是什么?按照 Google SRE 的说法,就是站点的可持续性的保障。

窦:随着云计算的发展,传统的互联网公司的基础运维部分会越来越少,这部分过渡到了云计算平台服务商了。

李:从使用者的角度看,基础运维会越来越少,而业务运维会越来越多。云计算平台不会提供所有服务,但是会尽量提供各种原子性的服务。比如说,在我看来,MySQL、Cache 现在就是一个原子性的服务,而不像过去,是一个解决方案。现在的业务运维就是快速地用原子化的部件搭建自己的业务系统,支撑业务运维,就像乐高积木一样搭建。今天很多云服务商都喜欢用乐高积木来比喻其服务,其实就是指这些服务会形成标准件,用户可以用这些标准件来搭建自己的业务系统。

当然这种标准件会让客户丧失部分的自主权,比如说某种原子化部件不存在怎么办?有两种方式,如果确实是一种原子性的产品,那么云计算服务商一定会提供的;如果是当下急需或个性的需求,那就可以客户自己做。非常有意思的是,每个大的云计算服务商背后都会有一个云市场,你自己做出自己的原子化部件,也可以将它放到云市场上去。

窦:在这个方面我发现一个问题,比如说他们已经做出来了这个原子件,但是有一天云计算厂商发现这个东西不错,我也要做这个,那你怎么平衡这个关系?

李:这个事情从某种程度上讲一定会发生。为什么呢?原子化的就是抽象化的,如果云技术服务商发现它已经成为大多数人所需要的一个东西,就会向下抽象,让它成为服务平台的一部分。那么对于上层厂商来说该如何发展呢?他们应该向上走,将这个东西做的更细分、更好。这就是一种倒逼机制,就像是假如你要做一个杯子,而你的杯子的生产成本已经远远高于通用化制造的杯子,那你肯定会被淘汰。但是如果你把这个杯子变成陶瓷的、变成有收藏价值的,那就可以做了,不会被通用化制造的杯子挤压到没有市场。

举例说, AWS 上有两家存储服务商,DropBox 和 Box,那这两家公司有生存空间么?其实他们都是做数据文件的共享,而文件共享其实是 AWS 的基础服务。这两家做的是数据增值服务,如果这种增值服务对所有人来说都是标准服务需求的时候,它就会被 AWS 所提供,那么这两家厂商就不停的被底层的厂商倒逼着不停地提供更多的增值服务。但是它们越做新的增值服务,就和用户越贴近,挖掘到的需求对用户的帮助就越大。这个时候产业是良性的。但是如果厂商固守在数据存储上,那这个“游戏”就结束了。

我们再换个例子说,比如手机里面,之前任何一个智能手机里面都有一个“日历”应用的厂商,但今天还有日历厂商么?很少了,因为这种需求已经是一个通用的需求了。但是“万年历”还存在,这是因为“万年历”这个数据是独特的,也不是通用的需求。但是普通的日历、农历是通用的需求,所以就被底层厂商“吃”掉了;同样,“手电筒”应用也是,它成为了手机自身的功能。

安全服务的边界

王:刚才我们提到了安全问题,我们知道阿里云给客户提供了很多安全服务。做安全实际上存在一个矛盾,在效率和安全之间是存在一定的抵触的。据我所知,阿里云至少在两个层面上为客户提供了安全服务,一个是在云的层面上提供了云防火墙;另外一个是在主机层面提供主机安全防护。这里我想知道,阿里云在安全方面的策略是如何的?因为如果安全方面厂商做的太多,会影响到客户的使用,但是如果有些服务不做的话,一些安全问题就会导致客户应用的问题,甚至会造成安全事故的蔓延。

李:安全的最大问题是:安全的边界。如果这个边界说不清,就会出现你说的这个问题,多做、少做都不对。第二个问题是,安全边界是个大家认知的问题,道德和法律的差异,法律是本分、道德是情分,这是有差别的。在安全方面,阿里云做了三个层面:业务安全、主机安全和平台安全。业务安全是防止客户被入侵,保障客户应用的安全,是从外向里看;而主机安全是从主机向外看。还有一个层面是平台本身的安全。

安全一定是要划清边界的,因为不可能包揽百分百,这就一定要和用户说清楚那些部分是不能包揽的。安全里面 30% 是技术的问题,70% 是人的问题,但今天有没有什么办法让人的部分降低到那怕是 50%?让使用更便捷一点?但是这里有个问题是,当你管的多了时候,客户怎么确认你管的这么多是合适的?

窦:很多人对安全的保姆模式还处于一个认可的过程,对保姆模式的信任也没有建立起来。

李:首先是你说的客户不一定相信,不是你说了客户就会相信,这是一个很正常的事情。那只能是在一开始的时候就尽量将事情说清楚。其次是,能以授权的方式存在的就一定要以授权的模式做,让客户随时可控。

当时“安骑士”这个事件之后,在我们内部反思过这个问题。在我看来,第一个,授权做的不清晰;第二个,给用户做的可上可下的提示不明确。如果它是可上可下的、授权清晰的,那就是个用户自我选择的问题。然后是,“安骑士”你到底都做了什么?这个你得给客户提供审计报告出来。

不只是“安骑士”,包括阿里云做的所有东西,都应该提供专业的审计报告。比如说一台主机,服务商进行了维护调整,环境上有了变化,它可能都会对用户发生影响。这个时候,作为用户,我都看不到就没有安全感。那么这个时候应该以一种什么样的方式将这个报告提供出来?所以,我们今天就将各种服务,比如 RDS 的维护日志、用户自己的操作日志都让用户能看到。而且如果用户使用了多种服务,如何将多个报告融合在一起,这也需要我们大量的工作。

企业的开源发展的四个阶段

王:阿里云做了许多产品,也开源了许多产品,阿里云在开源方面的战略是如何的?

李:阿里云做了很多中间件,最流行的是 dubbo。为什么它会很快的流行呢?首先它是一个简单的应用,其次是它被阿里淬炼过,保证了其稳定性。我最近在管理开源社区方面的事务,发现它的社区非常大,使用文档、案例、手册等庞大无比,我非常惊讶,远远超过我的预期!社区对它的贡献非常大。我想说的是,在它刚刚推出的那一刻,它是不成功的,但是随着社区对它的完善,包括我们自己还不断的对它做升级。它变了,它变成了一个很庞大的东西。在它刚刚推出的那个时候,它是不够简单易用的,但是随着社区对它的贡献参与,它就变得简单易用了。之所以这样,是因为它有了更多的使用案例。

我认为开源有四个阶段:

第一个阶段是拥抱开源,就是你去用开源软件,这样让你可以最快地有能力达到一个基本的技术水准上。

第二个阶段是回馈开源,比如你可以将你的一些补丁反馈给社区。比如阿里就对 mysql、hadoop 等做了很多贡献。

第三个阶段是融合开源,你的产品别人是否支持?之前是我反馈给社区,而现在别人是否在开源产品中支持你,比如在 Hadoop 源码中支持你,在 Docker 源码中支持你。我拥抱你,你拥抱我,互相接纳。

第四个阶段是回报开源,当你已经被开源社区接受的时候,那这个时候你要有选择性的回报,将一些产品开源出去。这里是有你自己的商业诉求在里面,比如说你有一个方向性的东西你看不清,那么开源出来,大家一起来做,这种情况就比如说 Google 开源它的深度学习。另外一个做法是是将之前换代的产品开源出去。

阿里集团有一个开源委员会,旗下的各个商业部门都有参与,用来决策如何开源,以什么原则,什么节奏去开源。

结语

经过长达一个小时的深入沟通,我们对许多问题进行了探讨和了解,从阿里云这里能够看到,国内的顶级互联网企业,已经跳出了巢臼,能够更大的从产业、文化、趋势方面对运维行业、云计算领域乃至于互联网行业进行深远的布局。

以上,由 Linux 中国的老王为您独家披露。