【沉淀】访谈阿里孙伟光:多行善事莫问前程的他,将计算集群的CPU利用率从30%提升到70%+

【沉淀】访谈阿里孙伟光:多行善事莫问前程的他,将计算集群的CPU利用率从30%提升到70%+
《沉淀》是云栖社区展示专家风采的人物栏目。它呈现每个专家独一无二的人生经历、认识和感悟的同时,也能帮助你沉淀技术,收获对技术和人生的判断。我们的想法是:“若你想精进为一个很厉害的人,不妨细细品味这些技术牛人背后的沉淀。”如果你想了解这些云栖专家更多分享时,请点击云栖专家频道,当然我们也欢迎你往前走一步,成为我们的云栖专家(https://yq.aliyun.com/expert),与技术大牛一起“煮酒论英雄”。

提到程序员三个字,有些人的固有印象里会立马冒出如下标签:屌(码)丝(农)、不修边幅、没情调……

而光哥,哦,不好意思——应该是“光戈”,在内网的18个标签中,被以下三大类占据:

  1. 富二代她父亲…
  2. 身材非常棒…
  3. 会做肉松,有点2的光光…

在技术上,2014年转型做大数据,他研发的产品,在不增加任何投入的情况,将计算集群的CPU利用率从30%多提升到70%以上,极大地提高了服务器的利用率;与此同时,他在内网的技术社区上(ATA),活跃度在全集团前十。

是的,这是一位事业有成,生活有质量,也有品位的技术人。如果把时钟往前拨,回顾他的整个技术生涯,你会发现,今天处之泰然的背后,也有艰辛:

1. 因为工作,三年间几乎跑遍整个河北省和河南省;
2. 因为想成为一名DBA,于是他把市面上的相关书籍都看了,并且写了几百篇Oracle的文章;
……

光戈是谁?做什么工作?究竟是怎么样的一个人?他的人生经历和技术思考能给大家带来什么样的启发?第13期《沉淀》人物栏目专访了这位阿里专家。

三年时间,跑遍了整个河北和河南省

【沉淀】访谈阿里孙伟光:多行善事莫问前程的他,将计算集群的CPU利用率从30%提升到70%+
照片背后的故事:“这种(照片)行么?”如果你是最想放这种照片,是可以的。“好,就这个!”

光戈,真名孙伟光,他是阿里数加平台数据集成产品的负责人,工作内容是领导阿里集团内专有云、公有云环境的数据采集,以及传输和分发。目前经他保障集团和公有云的实例每天有数十万,数据同步将近千TB。

孙伟光2004年毕业于沈阳工业大学,毕业后就加入了东软,负责社保软件的开发。这是一份负责医疗保险软件的开发和实施的工作,包括社保中心端和医院(药店)医保系统。看似是份普通的开发工作,然而工作内容很杂,他要负责包括开发、部署、维护、签合同以及收合同款……等等的工作。这样的工作,他硬生生地做了三年,而与之伴随的则是三年的时间,他也几乎跑遍了整个河北和河南省。

对于这段经历,孙伟光最难忘的是在邢台。在那,他差不多待了将近一年的时间。这一年,他与同事承担起整个邢台医保中心软件的开发和实施,以及全市上百个医院和药店的维护工作。在他人看来,这段疯狂的出差经历,是十足的苦差事,但在孙伟光眼中,他却看到了“收获”二字。“这段经历让我学会如何与人沟通,推进事情;也学会如何承担责任。”在采访中,他澄沙汰砾地回复云栖社区。

2007年,孙伟光加入阿里巴巴B2B。之所以选择阿里B2B,是因为他想成为一名DBA,而当时的B2B在整个中国DBA领域有着巨大的影响力。

为了实现这个梦想,他开始每天泡ITPUB,并把市面上所有关于Oracle的书籍都刷了一遍。对于当时的疯狂,他回忆:“每天都在电脑上做测试,为了沉淀所学,甚至还写了几百篇有关Oracle的文章。”

理想和现实总是会有些许差距的,有的人会叹不如意,就此自怨自艾;而有的人则视为是一个新的起点,不断上进。孙伟光是加入了阿里,并且部门也是B2B,然而岗位却是数据仓库。但这位乐天派的技术人显然是后者,丝毫不以为意,他觉得岗位跟DBA是有些区别,但好在总是跟数据相关。

从开发转做数据仓库,颇有些挑战。一个挑战是工作环境,东软基本都是Windows开发,而阿里则是Linux……总体来说,这个挑战还好,只要稍微用点时间就能适应。最大的挑战是数据仓库的工作一半是技术,一半业务,需要投入很大的精力来理解业务,并且要思考如何通过数据来提升业务。

“一半是技术,一半是业务,你是如何应对这个挑战的?”

“经常到财务那边,与业务同学‘亲密’接触。”他很认真的说到。

将计算集群的CPU利用率从30%多提升到70%以上

2014年,孙伟光加入阿里云ODPS团队,开始做HBO。

HBO(History-Based Optimization)是基于任务执行历史的优化,通过对任务历史执行情况的分析,根据优化规则生成更加高效的执行方式。简单点,则可以理解为:任务执行历史+集群状态信息+优化规则→更优的执行配置。

为什么要做HBO,孙伟光说:“当时开发的背景是整个ODPS的集群利用率比较低,而ODPS的任务优化又是专业度比较高的事情,用户很难自己进行优化。”因此,孙伟光被委以重任,负责开发这样的一款产品。

实际上,在HBO开发之前,是没有可以参照、对比的竞品。在独自摸索的情况下,孙伟光终于把HBO开发成功,不仅成功,而且成绩斐然——HBO在不增加任何投入的情况,将计算集群的CPU利用率从30%多提升到70%以上,极大地提高了服务器的利用率。

将计算集群的CPU利用率从30%多提升到70%以上——这是如何做到的?孙伟光在访谈中剖析:“简单来说,问题的根本是ODPS默认的资源分配规则并不适合集群的现状,而HBO除了会分配更多的资源给大任务,加速其运行;也会分配较少的资源给小任务,在保证其执行效率的前提下节省更多的资源。”

轻描淡写的背后,则埋藏着一个又一个的难解问题。其中一个难题是:每次HBO的规则变化都需要在线上和生产环境中验证。那如何减少对线上任务产生不良影响的前提下,推动规则的优化和发展?

“我的解决方法是:与当时公共层的ETL开发任务一起合作;其次对每次的规则优化采取渐进式的手段,控制影响范围,并详细记录优化前后的数据变化,及时对优化前后的效果做回收。”正如他回答中一贯的干练形象,对于难题的解决究竟都经历了啥,孙伟光并没有铺垫其他东西,而是说出答案直指问题。

针对产品本身数据的分析和挖掘,往往能带来意想不到的提升

在ODPS,孙伟光虽然只工作了三年,但他一直在做数据相关的工作,并经历了一些部门和岗位。

因此,这位和数据打交道的技术人沉淀了不少心得,他和云栖社区提到其中一点:“虽然周围人都是做数据的,但是大家其实对本身产品的一些数据并不那么在意。然而针对产品本身数据的分析和挖掘,往往能带来意想不到的提升。”

他怕笔者不理解,就举了一个例子:“拿阿里集团内部的数据集成产品来说,印象中离线的数据集成任务都是同步数据量相对比较大,同步时间比较长。”

孙伟光进一步叙述他的发现——通过对历史数据的分析发现,大部分离线的任务也是执行时间比较短的任务,所以对整个传输流程中的优化是比较重要的,这样能极大的提高同步外的时间消耗,提高同步效率。

“在设备非常多的今天,数据越来越大,也越来越杂,在如何保障数据采集、传输和分发更加高效、稳定上,你是否有一些心得?”云栖社区追问。

孙伟光的回答一如既往的干练,他认为想要保证数据采集,传输和分发更加高效,稳定,一定要对整个数据集成的过程都有深刻的理解。他接着进一步阐述该如何去做:“你需要了解每种数据源的特性,需要了解网络传输的底层原理,只有这样才能做更有针对性的优化和提升。”

最后,我们也聊到数据采集、传输和分发的未来趋势,云栖社区总结了他回答中的两个关键词:“成本低”和“智能”。具体来看则是,未来用户使用成本会越来越低,对他们而言未来只需要关注任务配置,而其他的事情全部交给产品本身;同时,产品会越来越智能,通过对执行历史的学习,根据优化规则,自动的对整个数据传输过程做智能的优化。

结束语:多行善事,莫问前程

回顾自己整个技术生涯,孙伟光觉得自己最重要的是技能是,通过对产品相关数据的学习和分析,快速理解一款产品在各个方面的状态。对于即将毕业的计算机系同学,他给了一些技术发展建议:思路要尽可能的开阔,提高技术的广度。

这位喜欢举铁的技术人,每周都会坚持健身,他说健身的时候比较放松,一些工作上的思考放在这个时间,往往能有意想不到的收获。

他最喜欢的一句话是——多行善事,莫问前程。

“能说说你的进一步理解吗?”云栖社区想挖一挖背后的缘由。

“做事情不能单单盯着KPI,不是KPI的事情不做。”他的简洁和直指问题本质的能力又出来了。他知道当下各大互联网公司KPI的管理弊端,以及互联网人的本位主义、急功近利和本末倒置。

隔了一会,他复又在回复中敲了如下几个字:“多做些有意义的事情,别太在乎得失。”

想起他为什么能将计算集群的CPU利用率从30%多提升到70%以上,也想起他为什么能发现——“针对产品本身数据的分析和挖掘,往往能带来意想不到的提升。”

至此,一切都明了(本期接受访谈的云栖专家/光戈;文/我是主题曲哥哥)。

上一篇:【沉淀】一张表的设计优化节省了两百万,客户不断盛誉……,这背后他究竟做对了什么?——记访谈阿里云汪建明


下一篇:Linux云服务器怎么在Nginx、Tomcat、Apache服务中绑定域名