沉淀|从网络中间件到搜索,从移动开发到分布式计算平台,阿里高级专家李睿博谈自己的折腾路

沉淀|从网络中间件到搜索,从移动开发到分布式计算平台,阿里高级专家李睿博谈自己的折腾路它呈现每个专家独一无二的人生经历、认识和感悟的同时,也能帮助你沉淀技术,收获对技术和人生的判断。如果你想了解这些云栖专家更多分享时,请点击云栖专

大家好,欢迎来到IT知识分享网。

《沉淀》是云栖社区展示专家风采的人物栏目。它呈现每个专家独一无二的人生经历、认识和感悟的同时,也能帮助你沉淀技术,收获对技术和人生的判断。我们的想法是:“若你想精进为一个很厉害的人,不妨细细品味这些技术牛人背后的沉淀。”如果你想了解这些云栖专家更多分享时,请点击云栖专家频道,当然我们也欢迎你往前走一步,成为我们的云栖专家(https://yq.aliyun.com/expert),与技术大牛一起“煮酒论英雄”。


1.

如果人生可以重新来过一次,你会怎么做?

相信很多人都会列好一大堆计划和想法,而李睿博却和云栖社区的同学讲了一个往事:

“小时候一帮小朋友一起玩,弄坏了邻居的财物,大家一哄而散,只有我觉得这么跑掉是不对的,愣是站在原地没动,最后责任都成了我一个人的。”

讲完后,他说:“人生如果能重新来过,还会是一样。我其实是个挺执拗的人,会坚持做自己认为对的事情,即使有时候明知道会吃亏。”

从功能机时代做网络中间件到做搜索,从做移动开发到做分布式计算平台……细看,转型跨度都挺大,而每一步李睿博都无怨无悔。

抽丝剥茧后,你会发现,这是爱,是对代码的爱。

2.

沉淀|从网络中间件到搜索,从移动开发到分布式计算平台,阿里高级专家李睿博谈自己的折腾路

李睿博认为,路走对了,才不怕远;走对路,比走的远更重要。

李睿博,花名艺卓,他是阿里集团计算平台事业部生态与输出部门的负责人。对于自己的工作,他概括地说:“MaxCompute 上直接接触用户的那部分,很多都是我部门的工作。”这些工作包括 MaxCompute 的 REST API、SDK、Console、JDBC驱动,以及PyODPS 及其配套的 DataFrame。除此之外,李睿博的工作也包括跟各种社区、生态的对接。

回到李睿博工作生涯的起点——2006年北航研究生毕业后,他因为面试流程Geek,以及有游戏背景,任性的找了一家特殊的日企,并在一年后,又随这家公司到东京工作了两年。这是家做网络中间件的公司,核心产品是用一套SDK完成Linux/Windows/Solaris server side 以及PSP/NDS/wii 等 Client Side 的网络通信代码编写,客户主要是游戏公司。在这个过程中,他实现了在 128k 内存 128×128 的屏幕上实现伪网游的效果,这个在——GPRS、手机还是NoKia的时代是一件非常具有挑战的事情。

2009年,李睿博加入阿里云做搜索(现在的“神马”)。在搜索的时候,他发现,当时团队的模块发布用的是RPM包,而RPM/YUM的改变是系统级的,多人共用一台机器会互相干扰,于是就写了一个Abxp(Abuildxp 的缩写)的工具,用来在编译代码之前构建依赖库环境用的。这个编译工具直到最近这几天,都还有 IDST 的同学遇到问题找到李睿博。对于写出长命的Code,这位不断跨领域的技术人也挺吃惊的。但大家觉得好用、喜欢用,他也非常高兴。

2013年,李睿博跟随集团无线 All In 战略做了一年的创业项目。在无线的一年,他带领一个测试开发底子的团队转安卓开发,并在不到一年时间把App做到百万日活。尽管这个App最终没能活下来,但李睿博还是挺骄傲的。自豪之外,他也有反思和收获,一定要给用户带来价值。他在回复中表示:“无论技术层面执行的多么到位,带不来价值的应用活不下来很正常。阿里土话说‘路走对了,就不怕远’,我觉得应该叫‘路走对了,才不怕远’ 。”他强调,走对路,比走的远更重要。

由于移动应用业务属性太强,做安卓开发一年后,李睿博来到阿里集团计算平台事业部生态与输出部门,潜心于技术。尽管这个领域不懂的东西太多,但只要能重新沉醉于代码中,他觉得哪怕“被虐”也是值得的。“好几次都是靠‘自己选的路,跪着也要走完’的信念才走到今天。”他表示,在大数据平台学到最多、挑战最大,不过后来居然越做越有感觉了。

到今天他做MaxCompute已不知不觉有三年。问及最终目标是什么,他说,就当下工作而言,有两个:一个是通过PyODPS直接赋予数据科学家操作大数据的能力;第二个是通过生态与输出,让大家可以将开源所学直接用在 MaxCompute 上。“如果要论终极目标。”他毫不犹豫地说:“那就是将大数据计算能力普惠给用户。”

对于分布式计算平台的趋势,李睿博认为会越来越往准实时、实时方向靠拢,“离线和实时分布式系统之间的界限会越来越模糊,两边都会尝试侵占对方的地盘。”

沟通中,也问起他的花名为什么起“艺卓”,李睿博一脸遗憾,他说:“本来想取‘睿博’。”他戏称,毕竟向后兼容还是很重要的。但后来他发现,这个花名不可用,只好取了“艺卓”。之所以取它,李睿博称,有两个原因:第一,和“睿博”读音有点靠;第二,这个名字是专业显示设备的品牌,他比较喜欢这个牌子,并且也希望像这个品牌一样在自己的领域里做专业。

3.

从搜索到安卓再到分布式计算平台开发,在外人看来这几次转型跨度都挺大的,回顾历程,李睿博也惊讶自己这么能折腾。

“那如果给一次选择的机会,你会怎么做?”折腾太累,大多数人都不喜欢折腾,所以云栖社区抛出这个问题,是希望李睿博能给出一个完美的技术进阶路线。然而,答案似乎并不像云栖社区期待的那样。

“如果真能选择的话,还是会去买套房吧。”他开了一个玩笑后,开始言规正传——人生如果能重新来过,还会是一样。

是什么原因让他来生还愿意这么折腾,云栖社区并没有进一步去探究。因为在另外一个回答中,可以找到答案:“我是真的爱写代码,从小学就开始爱,到现在快三十年了也还爱。”

如果这个答案还不够直接,那么你可以看李睿博这一句:“做自己喜欢做的事情,还有钱赚,这么奢侈的事情,我已经很知足了。”

以下是更为精彩的内容:

云栖社区:“艺卓”的花名给人总有一种手艺人的工匠精神在里面。你入职那时,取花名还是件很容易的事,能谈谈为什么没有取武侠风的花名,而是取了“艺卓”?

李睿博:我 2009 年入职阿里,其实直到 2013 年去无线才有的花名。阿里云早期并不流行花名文化。

等到真想要花名的时候系统提示“睿博”不可用(毕竟向后兼容还是很重要的嘛),结果到今天也没看到集团里谁的花名叫“睿博”,有点遗憾。

取“艺卓”这个名字,一个是因为读音跟睿博还有点靠,另一个是这个名字本身是个做专业显示设备的品牌,我个人也比较喜欢,也很希望能够像这个品牌一样在自己的领域里做专业。

云栖社区:你第一份工作是Port 日本的 Doja 手游到国内的 J2ME,在那个年代,能在 128k 内存 128×128 的屏幕上实现伪网游的效果是一种挑战,你是如何解决这个问题的?

李睿博:在资源极度受限的设备上做开发,有点像把一大堆东西塞到一个小手提箱里。一个是东西本身要经过很好的折叠,比如图片、音乐这些资源大户,要经过良好的剪裁和压缩。

另一个是要做很精细的安排,空间本来就有限,哪里放什么要规划的非常仔细。日本工程师在这方面其实做的已经很好了。移植到 J2ME 因为机器配置更低所以要做的更激进一些。

网游对战这块,那个年代的流量还很贵,而且 GRPS 也不足以支撑实时网络对战,所以我们当时的做法是和另一个玩家的历史记录对战(赛车类)。

云栖社区:你在搜索部门时开发了一款编译工具,直到今天都有人在用,并找你咨询问题,能否介绍下这是什么样的一款编译工具?当初出于什么原因去写它?

李睿博:是个叫 Abxp(Abuildxp 的缩写)的工具,用来在编译代码之前构建依赖库环境用的。

做这个工具的原因有两个,一是当时团队的模块发布用的是RPM包,二是当时团队的工作习惯是一台开发机多人共用。

既然用了RPM,那么最直接的办法就是RPM来构造开发所需的依赖环境。但是 RPM/YUM的改变是系统级的,多人共用一台机器会互相干扰。

因此就有了Abxp这个工具,利用现成的RPM体系,构建个人的开发环境,互不干扰,甚至一个人的几套代码不同目录之间都可以用不同的依赖环境,给开发工程师提供便利。

云栖社区:后来去做安卓开发,是早有准备,还是现学现卖?另外,也说一说学习安卓开发的过程吧。

李睿博:基本是现学现卖。虽然早年也做过J2ME开发,不过跟直接在 Canvas 上做各种图形绘制比起来,安卓抽象了 Activity、Service、Intent 等一系列概念,组织了 Fragment、ViewPager 等一系列组件,能够用好这些东西需要积累和时间。

之前的经验唯一的好处是有助于理解一些设计的出发点。当然,因为做的App 的特殊性,其实用到不少跟系统相关,行为定义的没那么清楚的 API,这个就真的是要摸着石头过河了。

云栖社区:在不到一年的时间里,把App做到日活百万,从技术角度来看,这段经历有哪些成功或独到之处?其次,对于这款App没能最终活下来,你有哪些认识和思考?

李睿博:做App 是要满足用户真实的需求的。无线All In 那一年,我们做锁屏软件,动机其实是“抢入口“。

我们在锁屏界面上做壁纸,跟虾米合作做音乐播放,跟蚂蚁合作做余额宝增值曲线,跟淘宝合作做快递提醒,跟头条合作做新闻,跟爆漫合作做段子推送,如果再多有一些时间,锁屏会被我们做成一个微型OS。这个臃肿的锁屏软件表达的我们的诉求太多,能够带给用户的价值偏少。

当然也不是没有。今天很多已经集成到 ROM 里的功能,那个时候我们都在锁屏上做过,比如用最少的操作打开手电筒,切换歌曲等等。

于是无论技术层面执行的多么到位,这样的软件活不下来其实并不奇怪。阿里土话说“路走对了,就不怕远”,我觉得应该叫“路走对了,才不怕远”,走对路,比走的远更重要。

云栖社区:为什么在移动开发最火爆的时候,又转型去做分布式计算平台开发?在转型分布式计算平台开发中,都遇到哪些挑战,请详细叙述下。

李睿博:移动应用的业务属性还是很强,代码写写扔扔(尤其是客户端)简直太正常不过。自己的代码变成快消品还是很难受的。

到分布式计算平台,最大的问题还是初来乍到,整个领域不懂的东西太多。虽然传统的 MapReduce 不难理解,但是一个Query 从进来Compile 成 Plan,到 Optimize 到生成 Runtime code,整个链路很长,而且链路的每个节点都有足够的细节和门槛。

云栖社区:MaxCompute相比Hadoop等开源产品有哪些优势?其次,作为计算平台生态与输出部门的负责人,能否在脱敏的前提下,谈下MaxCompute在生态上的一些规划?

李睿博:优势么,第一个是性能。我们自研的平台在性能上对比开源竞品还是有很大优势。另一个,MaxCompute 是完全托管的大数据服务,用户不需要知道集群,只管跑作业就好。从这个角度说,MaxCompute 跟 IaaS +开源软件完全不同。

MaxCompute 的生态,前几年关注的是连通性,于是我们有了 JDBC/ODBC,有了 Flume/Fluentd/logstash/Sqoop 这样的插件,让数据可以方便进入;现在我们更关注社区,我们的 MaxCompute 2.0 对 Hive SQL的兼容性不断在提升,PyODPS 做的类似 Pandas 的 DataFrame API,直接赋予数据科学家操作大数据的能力。

我们的终极目标是让大家可以将开源所学直接用在 MaxCompute 上。

云栖社区:你对分布式计算平台的中间件、架构以及趋势有哪些看法?

李睿博:MaxCompute 是离线批量计算平台出身,但是这个平台会越来越往准实时、实时方向靠拢。离线和实时分布式系统之间的界限会越来越模糊,两边都会尝试侵占对方的地盘。

新硬件也给我们的分布式系统提出了更多的挑战,比如 CPU 作业和 GPU 作业混合调度,带宽提升导致的存储和计算的分离成为可能等等。

云栖社区:不论是一开始在日企做网络中间件、阿里云成立之初做搜索,还是跟随集团All In战略做移动开发,乃至当下做大数据的分布式计算平台,你的每次转型跨度都挺大的,而且也都挺成功的,能否谈谈转型心得?其次,众多技术中,你最喜欢哪门技术(语言)?为什么?

李睿博:也不能算成功吧,拼了老命,没有脸着地摔很惨罢了。整个过程我觉得还是爱最重要。有爱才有勇气才有希望。我是真的爱写代码。从小学就开始爱,到现在快三十年了也还爱。

做自己喜欢做的事情,还有钱赚,这么奢侈的事情,我已经很知足了。

语言写过很多,不过我用的多的似乎最后都消亡了。最喜欢的语言么,Perl 算一个(也式微了,汗),因为实现同样的功能,代码能写的短。

云栖社区:如果给你一个选择的机会,你会继续这样继续不断跨领域,还是会在某个领域持续扎根?为什么?对应着选择(重新来过后),你又会怎么去做?

李睿博:如果真能选择的话,还是会去买套房吧(玩笑)。

重新来过也还会是一样,我其实是个挺执拗的人,会坚持做自己认为对的事情,即使有时候明知道会吃亏——小时候一帮小朋友一起玩,弄坏了邻居的财物,大家一哄而散,只有我觉得这么跑掉是不对的,愣是站在原地没动,最后责任都成了我一个人的。

认知水平、眼界不到的时候,估计我也会非常坚持自己并不成熟的想法,就算是未来的自己去劝也没有用。可能这就叫性格决定命运?

云栖社区:拥有这么多丰富的经历,你有没有想过去创业?请你谈谈对创业的理解。

李睿博:我比较喜欢的两个描述生活状态的词,一个叫随遇而安,一个叫无欲则刚。我这样的性格,除非有个强力发动机型的人拉着我一起,是不太会去独自去创业。

另外,我觉得创业要有足够的冲动,冲动可能来自强烈的价值认同。拉我出去创业的朋友也有过,到目前为止我看到的因为隔行导致盲目乐观以及功利的成分居多。

云栖社区:你平时喜欢做什么?为什么?请分享一个你特别认可的格言或一句话,并叙述下原因。

李睿博:平时追番,打游戏,看书,摄影,偶尔写写博客。因为我读过的人文书籍比较少,所以不太敢说任何或者欣赏格言。只说一个喜欢的吧:“此心光明”,希望能够作为自己的墓志铭。

为什么是此心光明呢?因为我们是处在一个剧烈变革的时代里。我上中学的时候家里装一部固定电话还要交几千块的安装费,我念大学的时候还在用寻呼机。我研究生毕业的时候大家都在炒 Web,然后是移动互联网,然后是大数据,然后是人工智能,眼花缭乱,飞速迭代。

我也经常感叹很多事情自己其实看不懂,看不清楚。年轻的时候,觉得做自己认为对的事情就好。但是在这样的时代里,个体非常容易迷失自我,我做的事情是不是对,并非一目了然,经常是要经过时间检验。在这样的时代里,某个具体时点上,能指引、规范个体行为的,或许只有价值观。Google 憋了半天,搞出来个“don’t be evil”,我觉得是同样的表达。工程师可能也就这个文案水平,不如王阳明先生“此心光明”来得积极向上。(文/我是主题曲哥哥)


  • 《沉淀》第十一期:【[沉淀]阿里高级专家应答:各种数据在一个统一计算平台上的融合,才能产生更大的价值】阿里巴巴这种超大数据体量上才会遇到的独特挑战,让应答在技术上有了更清晰的认识,一定要夯实分布式系统的基础。“只有把基础夯实了,才能支持上层各种计算场景在大体量上的实现,让各种新的算法在‘阿里体量’上真正发挥潜力。”

  • 《沉淀》第十期:【[沉淀]云架构师前(钱)景这么好,我们该如何转型?这有两位阿里云云架构总监多年心得】云架构师任职都有什么要求?他们的日常是什么样的?相关人员如何向云架构转型?就此,云栖社区就此采访了阿里云两位资深专家:阿里云云架构总监Danny Liu和阿里云国际业务部云架构总监王宇德。

  • 《沉淀》第九期:【[沉淀]“快的那个,会被慢的拖死”,记不断奔跑、看着阿里云产品管控慢慢长大的那个人——尹书威】传统运维人要从Ops走向DevOps,从项目走向产品,从资源走向应用。

  • 以上内容,均可在此看到:https://yq.aliyun.com/articles/

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/75643.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信