Vito Leung谈雅虎十年运维经历

个人简介 Vito Leung (梁灏舜) 现任北京全球研发中心系统运维部总监,带领整个系统运维团队,全面负责中心所有项目的系统部署、运维和可持续性运行工作,包括广告、个性化、云服务和移动应用/平台等。Vito Leung于2004年加入雅虎,并于2010年初加入北京全球研发中心,创建了系统运维团队,并将其发展成为可以覆盖中心所有产品线的世界级一流团队。凭着对运维工作和各个系统的深入理解和丰富经验,Vito带领着北京运维团队,成功地帮助中心发布了一个又一个核心产品。在加入北京研发中心之前,作为雅虎最早的运维团队成员之一,Vito帮助建立了整个展示广告平台的系统运维团队和产品发布团队,对展示广告平台产品的成功做出了突出的贡献。Vito Leung先生不仅对雅虎的发展做出了重大的贡献,还带领团队积极的参与到与业内的交流和分享中,将雅虎最先进的运维经验带给了国内同行,推动了国内运维行业的发展。

   

1. 各位InfoQ的读者们大家好,我现在在雅虎北研,今天很高兴邀请到雅虎北研运维总监Vito Leung来接受我们的采访,Vito你好。首先请您先做一下自我介绍吧。

Vito Leung:我在雅虎工作了已经十年多了,2004年作为第一批运维人员加入美国雅虎,因为我在美国长大。2010年公司决定在北京开办研发中心,先建立开发团队,因为公司的宗旨是,有开发就要有运维,所以2010年1月的时候就派我回来建立运维团队,我们当时是一个很小的团队,现在变成基本上北京研发有的产品,有开发的我们都有运维。

   

2. 北京这块研发主要有,比如说搜索的产品,广告的产品,那么你们也主要是这个方向的运维吗?

Vito Leung:对,比如说研发有社交、有广告、有个性化,有开发团队的,我们都有运维团队。

   

3. 其实雅虎自己也是有一个云平台的,你们也会做那个方向上的一些工作吗?

Vito Leung:我们会用,会跟那些运维团队很密切的合作沟通,因为在北京我们没有一个完整的云平台的开发的团队,所以我们就是一个用户。

   

4. 因为你们在全球其他地方,有研发团队的地方也有运维团队,你们跟其他的运维团队之间是怎样的合作关系?

Vito Leung:我们是一条实线,公司所有的运维团队都是同一个很大的团队,然后分成每一个不同项目的小团队,但我们中间有很多产品,是互为用户的,我们经常会有沟通,沟通产品对彼此的影响。

   

5. 你们每天都会跟研发团队一起开会吗?

Vito Leung:对,因为我们生产的环境有一些团队是很密切的,每天都有一些新的想法,新的idea要做,所以每天我们都会开起码一两次的会,公司的原因,哪里有开发的团队,哪里就有运维的团队,这样做事情方便很多。

   

6. 比如说印度也有运维团队,你们跟他们之间是每天或者每周都会沟通吗?

Vito Leung:如果我们做同一个项目的话,基本上每天都有沟通,但是有一些比如云的平台,我们只是使用,出现了问题的时候才会找他们。

   

7. 一般是比如说开发要上一些新的东西到生产环境的时候?

Vito Leung:我们是这样的,比如说产品经理有一个新的idea要做的时候,产品经理跟开发团队、跟运维团队已经开始在谈,产品经理会说那个idea希望怎么实现,开发团队会想怎么帮他把事情做好,然后运维会考虑等开发团队做好以后,怎么帮他部署在全球各方面的机房,有一些事情运维考虑的是全球,规模是很大的,开发团队基本上是考虑把事情做好,也许是为了一台机器做好这就行了,但是运维会考虑如何全球部署,想法有可能不一样,所以这三方面都要坐下来一起谈。

   

8. 整体来看,现在北研的运维团队的职责,比如说机房选址这一层你们会做吗?

Vito Leung:都一定会,每个新的产品,应该怎么去做,应该用什么技术,比如说很简单把一个文件从一边拷到另外一边,听起来是很简单,但其实要看产品经理有什么要求,我们再去选用什么技术去做成那个事情。因为我们是一个互联网公司,24小时都一定要up time,所以我们也老是盯着生产的环境有没有出现问题。

   

9. 生产环境跟Dev环境做交接的时候,这部分你们也会介入吗?

Vito Leung:你是说分dev、staging和production是吗,那个要看每个产品想怎么做,但是理想的就是Dev的环境不影响我们的用户,staging我们比较紧张,因为那个是最后一步,staging做得好不好,会影响到下一步production的环境。

   

10. 会不会经常发生Dev到Staging出现问题的情况?

Vito Leung:那个一定有,因为开发是没有完美的,我们的开发流程也非常快,所以一定会出现问题,但我们的宗旨是说出现问题要最快的时间抓到问题,把那些问题解决,然后下一次不要再犯同样的错。

   

11. 我们今天主要是想谈一下底层整个系统环境的管理,首先可能是硬件,像服务器的选型、操作系统用哪个版本,内核用哪些版本,这个现在是如何来定的?

Vito Leung:在雅虎有一个PEG的团队,Performance Engineering Group,他们主要的工作是看整个公司用什么机器,适不适合大部分的use case。因为如果太多不同款的机器很难管理。他们也管理我们每几年就要更新一下,因为机器比如HP、Dell过几年都不维护了,那些机器坏了,没法维修,就好像用笔记本、电话一样,两三年一定要换了,我们也同样的idea。PEG团队要很熟悉我们整个公司所有的产品,大概90%的use case他们都知道,他们也知道大概哪些机器能符合需求,当然有大概10%他们没想到,所以每一个团队拿到机器的时候自己会试一下,有问题的话就跟PEG团队再去讨论,怎么去解决,也许要额外买一种不同的机器,也许那台机器要升级一下。

   

12. 这个列表一年会更新一次?

Vito Leung:也要看几方面吧,一方面是外面的那些供应商,像HP、Dell它们新的一批产品要等多久,比如说英特尔有新的CPU,什么时候出新的,那一批新的是否符合我们雅虎去用。然后要看公司的方向应该怎么走,比如说有些机器比较memory intensive的,也许整个公司现在做的事情都是memory intensive,我们需不需要换一下,都会看那几方面。

   

13. 升级这方面,你们也是例常来做?比如一年做一次?

Vito Leung:现在大概是两三年会做一次,是一个cycle。你想一下你的笔记本多长时间要换一下,大概所有的硬件都是那个cycle。

   

14. 那OS的升级呢?

Vito Leung:OS在雅虎里面,很多都是用开源的,我们很多都是用RHEL,但雅虎不会从外面拿一个RHEL的版本就直接用,我们拿进来还要自己调很多的事情,那个也要花时间,也是跟硬件一样,比如说外面都没人在开发RHEL4、RHEL5的话,公司里面当然也不会用,因为如果有安全的问题,没人去看,没人去处理,只靠公司里面的一个团队去维护的话,成本很高,所以我们也会跟外面的开源的世界一致去用最新的,但也许会比较慢一点点。

   

15. 现在用的是哪个版本?

Vito Leung:每个团队都不一样,因为比如说RHEL7只是可以用在某一些机器上面,那些团队已经开始用那些机器就必须用RHEL7。

   

16. 这个测试的周期大概是多久?我如果要测试新版本的RHEL,从开始测试,到它可以go production,大概需要多长?

Vito Leung:每个版本都不一样,主要是看pack team做多长时间。因为他们测的时候,测了很基本的事情,到我们手上就针对我们每个产品的use case测试。

   

17. 比如说你们有很多来自开发团队的feature要上线,就没有时间做这个事情了,有这种情况吗?

Vito Leung:也不是说没有时间,做一个project之前,都已经谈好什么事情要做,哪里风险高,哪里风险比较低,所以每个团队要考虑一下,我们是否就为了赶着推向市场,要快一点,就不测这一部分,还是那方面真的非常重要,我们必须要测完才能上线,每个团队会看,会有自己的考虑。

   

18. 不管是你以前在美国,还是到北研这边,你觉得做的最有挑战性的一件事情是什么?

Vito Leung:因为雅虎的规模非常非常大,跟全球去比最多只有两三家公司是跟我们一样的,所以我们要解决的问题跟很多别的公司不太一样,一些小公司,他们遇到一个技术上的问题,他们会看雅虎怎么解决,雅虎能解决的,也可以抄雅虎的解决方案,但是雅虎我们去看谁呢?看另外那两三家公司的话,有可能他们的use case不太一样,用的技术不太一样,所以很多事情我们就得自己去想,因为之前是没有人想过怎么去解决的,一个小问题,把它变成全球规模那么大的问题,我们都能解决,那个是我觉得在雅虎工作那么多年最有意思的。

   

19. 有具体的例子吗?

Vito Leung:很简单,比如说我们要给用户看一个网页,雅虎有自己的需求,网页要给用户看到什么,每一个网页要在几毫秒内给用户看到都是很严格的。如果用户只是在中国,机房也在中国的话,那就很容易,就算有一些问题,但是可以解决。但是比如说用户是中国人,但是在美国,要访问中国这边的网页,还要严格在几毫秒钟之内让他看到所有网页内容,那怎么去解决。就是机房跟中国的用户很靠近,如果用户去旅游去美国的话,还要在几毫秒内给他看到所有同样的事情,怎么可以实现这个东西。要把网页能搜出来给那个用户看,后面还有很多流程的,不是给他看几个图片、看几个新闻那么简单,后面还要收集很多不同的数据,根据用户想看的内容再选择给他看,在中国能满足几毫秒的话,但跨海把数据发过去,怎么还能实现这样的事情,一个用户很容易,但是几百万的用户的话,那就不一样

   

20. 所以现在这还是一个挑战?

Vito Leung:我们能做到。但每天都有不同的新需求,比如说现在要给用户看不同的东西,我们怎么把那个东西也放在那几毫秒内一样可以给用户看到。

你可能感兴趣的:(Vito Leung谈雅虎十年运维经历)