从酷热的春日中踏入到钱塘江畔凉爽的网易云会客室,我看到了陈谔,开始此次“轻舟”之行。
从酷热的春日中踏入到钱塘江畔凉爽的网易云会客室,我看到了陈谔,开始此次“轻舟”之行。
说实话,初次近距离看到陈谔时,心里有点错愕,作为网易杭研的元老之一、网易云基础服务的领头人,我居然从他脸上倍感一点点害羞和技术人员的纯真。联想到之前网易云那边作为背景信息给出的个人介绍,这样的一位领军人物,竟然自夸自己“对分布式设计开发、云估算平台系统构架有一定的经验和理解”,我不禁有些豁然。
我接触和访谈过好多开源和互联网公司的技术领袖,陈谔应当是我见过的最温和而又不失自信的人之一,他的身上总是浮现着深沉的微笑,让我们在谈话的一开始,就有了一个良好的气氛。
受访者(左):网易云陈谔,访谈者(右):老王
网易云:千锤百炼终成形
和好多互联网公司推出的云服务一样,网易云也是一个脱胎于内部实践的云服务。网易北京研究院作为整个网易公司的技术攻坚力量和创新业务孵化团队,随着网易业务和规模的不断的变化,上海研究院面临着十分大的压力去做好基础设施的相关工作。
随着联通互联网的到来,本来可以挺好应对博客、游戏等业务的IT基础设施日渐显得捉襟见肘,原先的资源调度能力难以处理好随着新业务和新模式的快速下降和迭代而形成的需求和复杂度。IT基础设施成为了当时网易发展业务的新困局。
为了才能更好的服务网易内部的业务,2012年,网易北京研究院成立了专门的云平台产品部linux系统镜像下载,来建设网易内部使用的云估算平台,以应对联通互联网到来而形成的愈加复杂应用带来的基础设施需求。
随着网易云产品对内提供服务,规模上的问题被逐步解决,然而,产品的研制模式也在不断的迭代,网易内部开始不断地实践微服务构架。在这个过程中,陈谔觉得到,现有的IaaS产品和PaaS产品早已逐渐难以支撑来自微服务构架的复杂度,但在那时中国最大的linux社区,云原生理念和技术仍未成熟的时代,对于微服务的探求只能独立弘扬。网易云针对性的提供了CI/CD、分布式构架链路跟踪、服务整治的工具,帮助用户更好的去实践微服务。
到了2015年7月,随着CNCF的创立,这时陈谔发觉,网易云的好多产品和服务,和CNCF的理念是一致的或相像的,于是,网易云决定将自己的探求和成果更好地结合社区的发展,向社区贡献自己的努力,也吸纳来自社区的营养,将网易云的发展和开源社区的路线结合上去。
也正由于拥抱社区,网易云很早就走上了Kubernetes+Docker的发展路线。谈起对于Docker和Kubernetes的选择,陈谔表示,网易云选择Docker和Kubernetes并不是碰巧之下的决定。
实际上,早在Docker出现之前,网易云早已开始使用LXC技术来进行更细细度的资源分配,实现了类似的容器技术栈,在此过程中,陈谔及其团队亲历了LXC技术在施行的过程中各类问题和技术缺陷带来的困惑。而Docker的横空出世致使整个云估算领域眼前一亮。其实网易云自建的技术栈早已可以满足当时及近日业务的需求,但作为具有技术远瞻力的技术负责人,陈谔晓得,相比于得到业界普遍看好的Docker,自研的专属技术栈的生态环境窄小,技术人员的培养成本也居高不下。而另外一方面,Docker的镜像机制、分层文件系统机制,也促使之前在LXC技术栈上面斩荆披棘的网易云虽然听到容器技术发展的堂皇大街,使用Docker也就显得顺理成章。为此,网易云非常自然的就完成了从LXC向Docker的转移。
我问及Kubernetes的选择,陈谔笑了笑,他谈到,网易云对于Kubernetes的支持是十分早的,在初期Kubernetes、Swarm、Mesos尚三足鼎立的时侯,网易云就坚定的投入了Kubernetes生态。这一点和网易云过去在微服务、容器编排方面的实践是密不可分的。Kubernetes解决了网易云在过去运维过程中遇见的众多问题:怎样进行弹性伸缩、如何进行服务调度、如何使用配置来进行控制。Kubernetes所提供的配置能力,非常适宜于须要解决微服务构架编排问题的网易云。
对于网易云来说,她们并不是一个刻意追求新奇的团队redhat linux下载,相比于新兴的技术,网易云更在意哪些才能解决问题。其实,对于微服务构架支持最好的Kubernetes成为最终之选。
企业云:只为解决顾客问题
网易云和好多云估算公司不同,没有将眼神全部投放在公有云上,而是专注于为企业提供业务云化的解决方案。网易云也和容器云厂商的定位不同,容器是网易云的产品,更是网易云的工具,因而网易云其实很早就应用了Docker、Kubernetes等技术,而且并没有突出那些看上去十分时尚的技术名词,而是按照企业需求,更多的将这种作为服务于下层的微服务产品的基础。通过结合容器的网路方案、存储方案等云原生技术积累,网易云希望更好的服务自己的顾客。
陈谔说,网易云之所以选择了企业云的路线,更多是由于网易云发觉自身更适宜于在云原生领域精耕细作。与其在公有云的红海中去竞争,不如在云原生领域去深入挖掘,提高技术和竞争力。这样,就将竞争从IaaS层面,提高到了基于云原生体系的PaaS层面,避免了红海的竞争。同时,这些基于Kubernetes标准化的PaaS服务,其生命力也远超普通的IaaS产品,Kubernetes的设计促使它才能去除厂商锁定,基于其实现的PaaS服务可以运行在任何一家Kubernetes服务商的云产品上。
陈谔还谈到,作为一个面向企业提供解决方案的服务商,网易云和其他的容器云不同的是,更多是希望去紧靠企业的IT的技术的认知,不会给企业导致过多的认知负担和业务侵入性。在业务落地时,才能依据企业的须要来不断的完成落地,而不是从一开始就要求企业去实践容器等,导致更大的负担。倘若不是企业的需求要做容器化的话,不会第一时间要求用户完成容器化的迁移。但陈谔也发觉,当用户真正去施行微服务框架的时侯,常常会考虑施行和布署容器化,这时,网易云已经打算好的容器平台就可以挺好的完成这部份的工作。
对于不希望进行容器化的企业,陈谔提及,网易云针对于这种异构的环境,也提供了不同的解决方案,例如支持裸金属集群和虚拟机环境的服务网格(ServiceMesh)等能力,可以帮助这些不准备做容器化的企业完成自己的工作。
网易云希望自己的产品才能基于顾客的IT策略来考虑,而不是将网易内部的实践生搬硬套到顾客的业务中去。
DevOps认知:陈谔的DevOps观
在提到网易云内部的DevOps实践时,陈谔提及,在网易云内部虽然很早就开始进行了DevOps实践。从2014年开始,网易云内部就开始实行服务化的组织构架和协作形式。在网易云内部,所有的工作都是插口先行,在网易云见到的每一个界面,都是先有插口,后有界面的。每一个插口背后都对应着网易云的一个服务以及对应的研制团队。这样从一开始,网易云就不筹建专门的应用运维团队来负责业务的发布和上线,而是由各服务团队自行完成业务的发布和上线。不仅IaaS层面基础设施的运维有专门的SRE团队来负责以外,各服务的运维都由各自团队自行来负责,这促使对应的团队必须自行解决运维需求。并且,为了更好的协作,网易云内部的所有的API,就会置于一个统一的API网段中,所有的用户都可以利用API来完成自己想要的操作,而无需进行Web界面的操作。
我们还提到了DevOps和容器化的关系,在过去的一段时间里,宣传上总是将两者联系上去。在陈谔看来,容器化和DevOps的关系实际上是相辅相成的。
在他看来,之所以DevOps会出现,核心是随着企业业务的不断服务化分拆、微服务构架的施行,中心化的运维成为困局,这促使企业不得不去提高运维的能力,去招募更多的运维。并且基于企业成本的考虑,运维人员的数目终归是有限的,因而有一些开发人员不得不担任运维工作。并且,开发人员在运维方面的思路、关注点、风险意识上和传统运维人员存在一定差别,基于这样的考虑,须要一批工具来辅助开发人员进行运维工作,规范开发人员可以做的事情。在这样的一个大背景下,容器技术应运而生了。他相信,虽然没有Docker公司搞出了容器化,也会有其他的公司来作出类似的产品,不同的只不过是各家的方案的利弊罢了。
轻舟微服务:帮助企业更好落地微服务
这次接见陈谔是在网易云创大会上,而这次会议浓墨工笔介绍的产品之一就是网易轻舟微服务。
轻舟微服务是网易云在完成了基础设施的Docker、Kubernetes等改建完成后,基于对业界的剖析和研究后提出来的。出于标准化技术栈的考虑,网易云最终启动了轻舟微服务的项目,将现有的技术栈,打导致一个个独立的标准化技术产品。到了2018年,在完成了对所有技术栈的标准化之后,将轻舟微服务发布了下来。
陈谔觉得,异构系统整合,包括兼容、通信和系统间事务一致性,和多供应商建设,包括多团队协作、软件资产沉淀,是目前企业在建设在线业务中台过程中遇见的最大障碍,而网易轻舟微服务新款的发布,正是要通过服务网格、分布式事务框架GTXS、全新API网段与原有轻舟产品的整合,完成全栈化在线中台技术体系升级,帮助企业完成业务构架的进化,支撑业务快速创新。
网易云陈谔和老王
陈谔介绍,轻舟服务网格是基于Istio和CNCF的Envoy等主流开源技术打造,可以实现Java、Python、NodeJS、Golang和PHP等不同技术栈的兼容和通讯,才能与网易已有微服务框架NSF统一管控、互相发觉、互相调用,但是支持容器、虚拟机和裸机布署,将异构系统的支持实现到了业界领先的程度。
在陈谔看来,轻舟微服务的推出,是网易云内部的微服务能力的对外输出,是网易云内部技术能力的输出体系,针对企业顾客,提供了一整套的技术方案,以及对应的咨询服务和最佳实践的指导,帮助以前没有足够能力勉力完成微服务化的企业,完成企业产品和服务的微服务化。
好多企业的独石应用(Monolithicapplications)随着企业的发展和产品的演进,都面临新的挑战,而微服务化改建是企业所寄寓众望的一条发展路径。但或由于微服务的技术储备不足,或由于既有业务的历史包袱过重,企业自行开发微服务体系不但历时周期过长,并且可能因经验不足而走了弯路,因而,网易云在推出了轻舟微服务之后,博得了不少企业用户的关注。
在实际的使用过程中,轻舟的布署也帮助企业大幅度提高了新业务接入的效率和版本发布的效率。举个反例来说,假如同时有数十个微服务的不同版本在开发,在传统的模式下,就须要提供数十个测试环境来完成测试,但在轻舟下,就可以基于无侵入的流量染色功能重用一套测试环境,仅将测试流量路由至特定版本微服务,增加了环境的成本。
杂记
因为我离开了中国联通好几年了,近年我对企业级产品和服务接触并不太多。而此次的专访,促使我对于仍然以来缺乏了解的网易云和其产品有了更深刻的认识。其实,网易云在这场云估算大潮中,找到了企业界真正的痛点,关注到了诸多企业的真实需求,这些精耕的思路,一方面让网易云支撑上去网易云音乐、网易考拉等名星产品,另外一方面也促使网易云在企业上云和IT现代化方面不断攻城略地,取得不菲的成果,这值得云估算领域的细分厂商学习。
“穿山甲采访”栏目是Linux中国社区推出的面向开源界、互联网技术圈的重要领军人物的系列专访,将为你们介绍中国开源领域中一些积极促进开源中国最大的linux社区,依循开源思想的技术人,并辨析其思索、挖掘其成因,阐明其背后所发生的事情,为关注开源、有志于开源的企业和技术人标出一条路径。
起名为“穿山甲”寓意有二:取穿山甲挖掘、深入之意来象征技术进步和表征技术领袖的作用;穿山甲是珍贵保护植物,宣传公益。
本文原创地址://gulass.cn/lwwyyqcblzcx.html编辑:刘遄,审核员:暂无