杨镭访谈:UCloud 的技术价值观

你问我相信什么样的事情?咱们相信云计算是长远的。

去年,做为《穿山甲专访》系列采访之一,咱们曾经给你们分享过 UCloud 技术副总裁杨镭先生的访谈。那是我和杨镭先生的第一次见面,虽然采访时间不长,可是他务实严谨的风格,也给我留下了深入的印象。所以,此次又特地预定了他的时间,专程去上海和他深刻地聊了一些过去七年 UCloud 的技术价值观理念,并与这位从一线运维跌打滚爬出身的技术领袖的所思所想产生了深切的共鸣。数据库

做为采访者,我也是一位作了二十多年互联网技术工做的老兵,虽然在私交上我和杨镭并不算熟悉,可是随着在互联网、技术和开源方面话题的展开,咱们很快就聊得十分投机。后端

                         【图:现场采访图】

第一章 一位技术人员的成长史

话题是先从杨镭先生的技术背景和从业经历展开的。

老王:是否能够请先介绍一下你以前的技术背景和你的从业方面的状况?安全

杨镭:我结合 UCloud 整个技术发展的状况和我本身的状况跟你讲一下。服务器

个人背景是这样的,我 2006 年加入盛大在线,刚入职时我是从最一线的运维人员开始作的,大概两年多之后逐渐地开始参加一些研发的工做,作一些运维的平台系统开发工做。网络

我跟老季(UCloud CEO 季昕华)是大概 2008 年认识的,他当时在管盛大在线。盛大在线提供运维平台来支撑各个游戏部门的业务,包括像盛大创新院的服务器,其实背后都是由盛大在线提供运维的。在以后作盛大云时,咱们承接了很是多的业务部门的运维工做,而当时我就是在作平台技术方面的工做。架构

那时包括 OpenStack 才刚刚出现,AWS在国内刚被知晓,而咱们那时候本身最先作虚拟化都是经过 VMWare 来作的。咱们一直在关注云计算的发展。在 2011 年末,老季出来创业时,问我有没有兴趣出来,我就出来了。框架

咱们当时认为,运维应该走到一线去产生业务价值,而云计算正好是可让作运维、作技术的人能作产品的一个技术。云计算说白了是把之前运维的东西放在台前了,能够去赚钱了。less

📧从一封未发出的邮件提及…

杨镭:当时我离开盛大的时候,写了一封邮件,但邮件我没发出去,一直存在个人草稿箱里,如今还在。其实我对盛大也是挺有感情的,整个平台都是咱们一手搭建的,作了不少不少的事情,仍是很辛苦的。运维

那封信大概的意思是说,云计算真的能解决不少问题,它能让服务器弹性地、不用关机去升级内存和 CPU……还有不少充满想象力的事情,其实这也是 UCloud 的初衷,是咱们出来创业的初心,包括老季在内,其实也是这样的,在那个时候咱们每次出问题,他都知道,多是哪一个机房的网线插反了,或者哪一个服务器配置不当心没搞对,就像蝴蝶效应同样引起了严重的后果。分布式

那时候出来,咱们就是想把云这个事情作好。

践行新技术,处处吃螃蟹

杨镭:由于我不是从研发出身的,当时 UCloud 创业的时候也不容易,咱们当时除了三个创始人以外,还有五个研发技术人员。当时全部的运维、开发、底层的一些工做,这些我都参与过。

一开始我是作网络方面的研发,当时懂网络的人比较少,而我是作运维出身的。那时尚未 SDN 的概念,咱们开始作云计算的时候,当时主流的虚拟化技术是 Xen,KVM 刚进入视野。我那时候很关心 Linux 内核方面的技术,我认为 KVM 必定是有发展的,因此就建议围绕KVM而不是Xen作底层虚拟化,咱们一开始采用的 KVM 就是这样来的,结果在后面就少走了不少的弯路。

我主要的一个工做是虚拟机建立流程,这跟我本身以前的一些运维知识也比较匹配,在这方面我作的不少工做主要是优化。这里面其实有一个云计算产品的精髓,云计算产品若是要作好有两方面:

一方面技术要作好,它的可拓展性、稳定性要好,这是从研发的架构层面来看;另外一个方面,你要真正地懂这个产品。

好比说云主机,你如今来看不少云计算产品的功能都已经习觉得常了,可是 UCloud 一开始作了不少可能如今看起来不一样寻常的事情。为何会作这些事情呢?根本缘由在于咱们对于运维的理解比较深入,因此咱们敢先作这些功能。好比说当时有一个叫“重装系统”的功能,当时不少云服务商是没有这个功能的——那时候还很早,大约是 2012年的时候——这是我如今回过头来看一开始 UCloud 在那个阶段能冲出来的一个蛮重要的缘由。

当时 SDN 也是这样的。在那个时候,不少技术和框架尚未标准的、能够参考的开源实现。好比说作虚拟化,你能够用 KVM 或 Xen 都能作 。由于那个时候我对网络方面一直很感兴趣,我之前主要是作运维,对 IPtables 很熟悉,排查过很是多复杂的现网故障,因此对于IPtables在生产环境中的使用有必定的把握。当时咱们就是这样,去 AWS 的 EC2 虚拟机中抓包结合网络上的材料来分析背后的实现方案,而后用最有把握的工具链来实现。咱们很快就作了一套本身的 SDN——当时尚未 Open vSwitch,它是 2013 年出来的——而咱们当时就很大胆地采用了一个这样的东西。如今你看 UCloud 发布的技术文章、咱们把技术实现方式都讲了出去,可是那个时候你只能本身猜和试验。

云计算的问题在于什么呢?它的产品是技术型的,客户用你的产品和服务的时候,你跟客户接触的人员是要懂技术的,尽管咱们传统上认为这个事情不少仍是商务上、销售上的事情。可是最终你要成就一个优质的客户,由于只有优质的客户,它的业务好,才会更多的买云服务。而优质的客户不光看客户关系的,看的仍是你的技术、你的产品和你的人员是否是专业。由于这个缘由,因此我后来在整个 UCloud 工做的过程里,不断地在往前走,去作技术支持。那时候咱们很重视客户,我去作解决方案架构师,甚至有段时间在事业部参与销售工做,实际上是由于被这个问题推着往前走的,包括我如今其实主要的精力也在负责产品以及总体的技术管理这块。

差很少个人技术历程就是这样的,这也是 UCloud 技术这几年发展的一个缩影。

第二章 技术观与价值观

老王:你做为 UCloud 的技术负责人,以前在 TIC 大会上我也听你讲到过 UCloud 的技术价值观的观点,我想了解一下在宏观上、较高层面上你是如何看待云计算技术的发展的,以及这里传达了什么样的价值观?

「能力」——用工程能力解决技术问题

杨镭:接着前面的话题说。尽管在方向上是对的,可是咱们仍是走了不少小的弯路。咱们有一个核心的能力,也是 UCloud 的核心技术能力,就是出现 BUG 或者架构缺陷的时候能够很快地在现网透明地升级解决掉——这其实是对咱们后端的无缝升级能力特别大的挑战。我本身的感觉是,一开始讲要这样作时我其实不太相信能作到,可是在第一年,咱们就作到了不少这样的事情。

我举个例子,当时咱们产品上线之后,作弹性 IP 的实现,一开始很简单,咱们搞几台设备,用IPtables实现了弹性IP和内网云主机的映射,放在两台机器上,有故障时候服务自动切换,一切都很美好。可是上线之后就开始发现问题,这两台机器不停地宕机,其实就是出现了 “Kernel Panic”。由于咱们一开始只有两台核心网络接入设备,宕机一台就是 50% 的服务不可用,而后客户天然就炸了。可是那时候咱们是解决不了这个 “Kernel Panic” 问题的,尽管懂一点内核知识,可是对内核代码层面的问题并不了解,我不知道为何会发生,虽然我知道确定是那个方向的问题。

咱们搞不定怎么办呢?当时老季和咱们 COO 常常在外面和客户解释网络故障的缘由,例如中午和客户吃饭,边吃边告诉客户咱们出了什么问题,会采起什么样的措施确保再也不出现。而在后面,咱们作了一件什么事儿呢?咱们大概花了 2-3 天的时间,咱们把两台集中式的服务器变成分布式的了,由于在物理机上崩溃了以后、服务器就挂了嘛,因此咱们把这个服务放到虚拟机里去,每一台物理机上咱们放两台。这样好比说到时候这里宕机了,这两台就能够及时切换,并且由于是虚拟机,切换速度很快。咱们写了一个自动化地拉起全部服务的脚本。两三天就完成了,就把这个问题救活了。若是当时不解决,可能 UCloud 就挂了。

咱们靠这个机制顶了大半年,直到咱们的内核负责人来了。最后,发现是什么问题呢?确实是流量带宽控制那里有一个隐藏的 BUG,这个 BUG 其实连 CentOS 都没修复——由于咱们用的是 CentOS——它没修复,而咱们也搞不定。当时去查找 CentOS 的补丁列表,并没发现有这方面的补丁。到最后是怎么发现的呢?是上游后来发一个修复,可是这个修复 CentOS 一直都没放进来。

你看,这自己是一个很是深刻的技术问题,但在创业的时候你不必定能解决,而咱们经过架构的优化把它解决掉了,这其实是 UCloud 从成立第一年开始到如今的一个核心能力。我本身经历过这个事情之后,再遇到什么事情都不怕了。

用架构、用工程能力去解决了一个隐藏很深的技术问题,以成本最小的方法解决问题。

杨镭:这是一种变换的能力。这是整个 UCloud 技术文化所贯穿的一点,先提供一个方案把它解决掉,让咱们的服务品质不会下降。而要作到这一点,我以为最难的是你须要对工程这个事情有深入的理解。你们都会说工程师很重要、工程能力很重要,可是说实话,就像我开始来到 UCloud 的时候,我也会讲我是工程师,我很自信这一点,可是在我第一年遇到并解决了不少问题之后,我发现本身其实还不太懂。好比说,你看如今最近很火一些知识付费类课程,当我走到那个高度后我跟你说这个事情应该这样,应该那样。但若是你是才进入行业两三年的人,你是听不懂的,你并不知道怎么作,只能知道这句话应该是对的。这句话可能确实是对的,可是在平常工做中,你第一时间是反应不过来的,由于你不会深入理解这句话。

一开始咱们的工程能力就是很强的,由于这个基因来自于创始团队是当时最顶尖的工程团队。云计算天生对稳定的要求特别高,这是很是偏工程化,而这个能力对整个行业的影响是很深远的。

「尝试」——当时胆子真的太大了,走得很前面

杨镭:当时咱们遇到的挑战不少,咱们一开始第一代用 SDN 白盒交换机的,当时没多想就上了,而后咱们遇到了很是多的问题,最先还用过 Open Switch。其实 UCloud 前几年在技术上走的比较靠前,由于咱们规模较小,决策更快,并且咱们的技术团队胆子也很大,由于对技术团队很自信,对本身的工程能力很自信,因此敢尝试新的技术。好比说在网络层,咱们有一套是用的 OVS,还有一套是用白盒交换机,而咱们在两套之间还作了无缝地升级。咱们的胆子大,因此那时候咱们玩的都是新的技术。我还记得我在 2013 年出去作过 SDN 相关的演讲,如今看来当时胆子真的太大了,走得很前面。

那时候你们都知道是趋势,可是到底会怎么发展尚未人敢下定论,就像 Service Mesh 同样,如今绝大多数公司在作研究,在作概念验证,而咱们已经在产品环境上跑了,咱们走在很前面,有点孤独。

从我本身的角度看,咱们那时候技术仍是走得很快的。我举一个例子,好比如今有的云服务商要在两个地域之间打通,好比说从北京到香港,通常会告诉你要找第三方的网络供应商帮你打通。而 UCloud 是怎么作的呢?咱们在底层有物理专线,用户只要在控制台点一下两边就通了。大概在至关早的时候,咱们就提供了两个地域链接打通的功能。如今有的云服务商还须要几天才能为客户打通,而咱们只要控制台上点一下,计费以后就通了,两个地域间的虚拟机就所有都互通了。

我记得那时候在这个功能的发布前夕,咱们为此作了一整个通宵。在早上 7 点钟的时候,公司有人来上班了,我就在群里发了一条消息,说咱们这个搞完了,你们都很激动,虽然如今两个地域之间的云计算服务器连起来是很正常的,可是在那个时候是没有人作的,那时候就感受颇有成就感。

其实好几个 UCloud 早期的研发同事,他们都有相似于跟我同样的事情,只是我当时的领域所有在网络上,而他们的领域在其它的方面。

整个云计算这个事情,它的核心实际上是一个技术问题,最终想在这个地方走长远,本质上是要比技术能力的,一不当心就会落后。

我再举一个例子,咱们在 2014 年下半年的时候招了第一个作 DPDK 研发的人,那时候咱们知道 DPDK 技术发展前景还不错,因此咱们招了这个岗位;而到了 2018 年的下半年,若是哪家有云产品而没有 DPDK 技术,你的产品是彻底不具有商业竞争力的,你会卖得很贵,性能很是差,而友商会卖得很便宜,性能又很好,这个就是技术的红利。DPDK 的红利,可是若是你当时不投入的话,到如今可能会来不及。这是看三年的,因此咱们如今在作 Serverless 方面的工做,投入是比较大的,可是若是咱们不投入,可能三年之后或者四五年之后就出局了。

杨镭:咱们还作了不少颇有意思的事情。好比,不少用户买了云计算的虚拟机之后因为密码不严格被黑掉了,而后就变成肉鸡对外发大量数据包。这个事情不少云服务商的处理是很简单粗暴的,就是把你机器关掉,但客户实际上是很受伤的。而咱们当时不是这样作的。咱们看,它不是对外发包吗?咱们在宿主机上打开 TCP 来抓包,好比说 10 秒钟的包——由于不能长抓,长抓的量太大了——把它放到数据库里,而后咱们去分析这个 TCP 包的特征、出入的比例,若是只是出站没有入站的话,那就确定是被利用攻击了嘛。后来咱们发现,全部被反射攻击利用的特征都是这样的。咱们发现若是符合这个特征,就把这个虚拟机的网络给处理掉——咱们会把它的网络给漂走,叫作隔离区,并无把机器关掉,不会影响其余人,可是他的虚拟机本身仍是能够登进去的。咱们把这叫作最优选择,可是这个技术上很复杂。

实际上这不是纯技术的问题,这是一个理念,你要懂技术,还要懂业务,还要懂数据分析,还要设计一套东西把它串起来。

咱们以为自豪的一点不是说这个技术很厉害,而是咱们的友商没人这样去作。咱们作了好几件相似的事情,咱们最终带动了行业的发展,客户在 UCloud 里体会到好处之后,他跑到别的云服务商说,你看 UCloud 这样作的,别的云服务商没办法,就被咱们反逼提供这样的功能。并且这种功能不是说咱们为了超越谁,而是咱们本身想出来的。咱们本身的研发人员本身关起门来讲,对这种事情仍是挺自豪,某种意义上我以为这实际上是种创新。

「价值观」——咱们相信云计算是长远的

老王:你刚才介绍了 UCloud 的状况,做为技术人员我也以为颇有心向往之的感受。你以为目前而言,大家这个四五百人的技术团队的优点主要是在工程能力上仍是在大家团队上的技术文化上?

杨镭:从我这个角度,首先这是咱们的精髓、文化或者说是技术文化。在这个问题上咱们是不容许所谓的不纯粹的。因此在管理上,其实咱们对刚才说的这几件事情,咱们是要求很高的,若是你新来一我的你在文化上不认同,这个可能不适合你。

还有一方面,咱们对整个技术的价值观就像上次我跟你聊的同样,咱们会要求很高。咱们除了本身不收集,还会帮用户把隐私保护好,告诉用户不要给咱们任何的信息,而多数的公司是反过来的。咱们大概会在 1 年多后完成大部分云上数据的加密,包括存量的数据。就像咱们在去年的 TIC 大会上说的,这里会坚定投入,并且不是一个小的研发投入。由于说白了用户未必本身诉求那么强,不少时候没这个意识。而咱们作这个事情由于有不少存量的云主机,几十万台的规模,咱们要透明的、不影响性能、安全地放上去,并且密钥还要按期轮换,不能总是一把密钥,可是要轮换的时候又不能影响性能,因此在工程上是有挑战的和有技术深度的。咱们作那么多的事情,说白了这就是价值观问题,咱们真的对用户的数据安全很是重视。

树立了一个本身的独特价值观,并且为了这个价值观付出了代价、成本。

杨镭:尽管咱们如今人很多了,可是咱们产品线也很长,咱们这点人也是不够的,咱们如今作这个事情都在加班作,说白了时间不够,只能花时间解决这种问题。这种事情说白了是在价值观上,你作不作可能没有区别,可是咱们认为真正长远地看这个事情是有意义的。眼前不会有太大的得益和收益,可是从长远的趋势看,从咱们的信念看,保护隐私、保护数据安全实际上是一个全部人都会走向的共同的目标,只是如今还看不到。

全部的这些事情其实都是概括到一点,你相信什么样的事情?咱们相信云计算是长远的。咱们跟客户的合做不是作一锤子买卖,咱们甚至于对客户都有要求,咱们都要作得很优秀,咱们要长远看这件事情值不值得作?固然值得作。为何要看长远?由于咱们对本身仍是有信心的。其实你的如今是被过去决定的,你如今是为将来作的,因此咱们如今在这个层面上想的事情都是三年、五年之后的。如今这些从大势来看,咱们作的这些其实都是由于咱们前三年作了一些事情,咱们坚持了一些事情,由于作了那些事情,咱们活了下来了。如今数据隐私这个事情也好,数据安全这个事情也好,或者是不少 Serverless 产品也好,咱们相信在那个时代会更重要,因此咱们坚持作这个。

第三章 尾声

老王:作这个专访,一方面咱们但愿看到真正的技术人如今具体作哪些事情。另一方面咱们但愿让你们看到有这样的公司在作具体的事情,这些事情会不会对他们产生触动、启发甚至吸引他们去关注或者参与,这是咱们但愿能进一步作到的东西。

我以为今天你婉拒了不少采访的邀约而接受咱们的专访,我以为也很荣幸。一方面咱们能够持续性地关注大家这边的技术进展,咱们把有些可能在大家看来不值得一提,可是在咱们看起来可能很是重要或者更有传播和示范意义事件传播给你们。我以为今天的采访让我确实地了解到了不少我原来没有想到或者没有观察到的地方。

杨镭:我从一个运维人员走到如今,如今作这个事情我才能发现原来是这样的。我以为我能理解你,由于你们专业不一样,咱们正好天天在这里作事情,因此就往这个方面想。我但愿这篇采访能让你们知道有些事情怎么作更好,只是咱们走在了前面一点,咱们是这个行业里的人,咱们有经验,咱们传播出去,这个我很开心,就 OK 了。

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

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

相关文章
相关标签/搜索