孙亮:海量用户业务怎么做运维

个人简介 孙亮,就职于腾讯SNG事业群社交网络运营部,先后参与空间、QQ社交业务业务运维,负责事业部基础服务运维规划、管理建设,2008年起按部就班建设基础服务标准化,包含操作系统和安全、路由、无状态中间件、虚拟化等技术。此外,我还兼顾事业群业务成本优化、预核算统筹工作,高效把握设备资源管理,面对海量用户访问重压之下积累了丰富的运维经验。

全球架构师峰会(International Architect Summit,下简称ArchSummit)是由InfoQ中文站主办的一次全球性架构师峰会。ArchSummit专门针对架构师人群,讲述与架构和架构师相关的各方面趋势、技术和案例。这也是继QCon之后,InfoQ中文站主办的又一次高端技术盛会。

   

1. 各位InfoQ的网友大家好,现在我们是在ArchSummit北京大会的现场,做客我们专访间的是腾讯社交网络技术运营中心的负责人孙亮。首先请您先简单做一个自我介绍

孙亮:我是2005年加入腾讯,一直从事运维工作,在腾讯工作分为两个阶段,第一个阶段是在技术工程事业群,从事服务器、存储还有操作系统相关的运维工作。之后2008年调到业务部门做社交网络事业群,从事业务相关的运维工作。在业务部门的这段工作,大致也可以分为两个时间,2008年开始是从事业务运维相关的工作,2010年之后至今,从事支撑业务运维的一些基础性工作,包括操作系统的业务部分的优化,还有就是通用的大规模组件的高效、高质量的运营。

   

2. 据我们了解,除了建设基础服务的标准化工作之外,您还兼顾事业群业务成本的优化,预核算统筹工作,这两项工作您是怎么分配和兼顾的?

孙亮:这两个工作是循序渐进的关系,要做到后者更多的是高于前者,比如说你对基础架构,对公司业务如果没有足够了解的话,很难从成本这样一个横向的维度进行整体优化,这是这两个的工作关系。兼顾是这样子,前期主要会去做标准化组件相关的工作,当我们发起了成本核算预算之后,我们在过去的一两年,重点做成本优化的推动工作。这个工作其实是需要更全面的,不仅仅从当前我所负责的工作这一块下手,还要结合业务所用的公共组件来整体优化。

   

3. 腾讯有多种社交网络业务,而且有庞大的用户群,之前公开的数据是2014年元旦的时候,那时候QQ空间活跃已经突破10万亿次,1秒发送信息量就是1万多条消息,在海量用户访问的时候,社交网站怎么保证它的正常运行稳定高效呢?

孙亮:正确的数字应该是QQ的在线是2.34亿次,月活跃是8.6,空间跟QQ是接近的。要保证这样大的并发去高效运营的话,可以通过如下几点:

首先要从建立一个高可用的名字服务下手。在我们内部有代号为L5的一个名字系统,兼顾了容错、名字调用,这样所有的业务都可以通过它高效的进行互访。并且它是基于服务质量容错的一个软件。所以当用户使用它的时候,就会基于调用结果进行容错。这是第一点。

第二点因为刚才你提到社交服务是基于大量的服务器之上的,那么这些服务器平时因为容量还有机房的搬迁,还有运维成本,都会发生大量的变更。第二点就是要把这些分层,分接入层和逻辑层还有存储层,去分类高效的做运维。针对每一层不同的特点才能术业有专攻的把每一层高效的运营起来。通过第一点提到的高可用的软件进行互访的打通。

   

4. 这个分层是运维团队在做还是业务团队在划分?

孙亮:一个好的技术架构是跟着业务要求,还有跟着业务的演化自然而然就形成的,这个分层一方面是业务架构本身组件就垂直化的分层,其次运维这一块也会刻意的按照业务的分层去做运维技术的分层。

   

5. 因为您一直在做运维工作,运维感觉是一个特别苦特别累的活,运维过程中有哪些记忆比较深刻的事。运维的日常工作可能会比较烦琐,但是如果有一些比较有意义的,不一样的事情你可能会记忆比较深。

孙亮:要说坑的话,非常非常多的运维同事我们一起工作,现在回忆起来,其实最大的坑是在于我们都陷到了一个每天都重复的劳动中去了,这是一个很大的坑。如果刚才我提到故障是一个坑的话,这可能是一个陨石坑,可能会带来地球的毁灭,最大的坑是思维上转变不够快,每天都在做重复的劳动,每天都是跟着业务的发展去支持他,很少花时间真正静下心来想一想该怎么改变。这个更抽象一点来说是最大的坑。

   

6. 今年运维圈里面发生了几个比较有代表性的事情,也有一些声音说要做运维的自动化,大家都在谈高效运维怎么做,后来有些谈高效运维的人更倾向于自动化实现的东西怎么做,您怎么看这个问题?或者您这个团队在运维自动化方面做了哪些工作?

孙亮:腾讯的社交网络事业群的运维自动化,其中有一块很重要的内容就是将无状态的服务器能够高效自动化的变更起来,无状态的服务器主要有接入层和中间的逻辑层,不含数据。在这块我们主要做了两大点,第一大点是对逻辑层进行标准化的建设,使它在自动化变更这里资源更加统一化,更能够支撑自动变更的要求。其次是自动化变更中,还有蛮多需要虚拟化操作系统来支持的。我们在虚拟化这一块,也建设了应该是全国最大的容器的集群,实现高效的变更。

   

7. 这个变更主要是针对资源配置吗?容器虚拟化了一些东西之后,运维是有资源配置方面的优化还是有应对其他场景的优化?

孙亮:容器相对于实体服务器来说,它的扩散更快。所以,不是你说的资源配置这块。

   

8. 接下来我想问一下,您觉得一个优秀的技术人员应该具备哪些方面的素质和能力?

孙亮:两点,第一点对于一个技术要深深的去钻研,因为现在各种技术的发展面太多,我们要找对自己想要的技术点,然后通过正确的方法,我倒建议找到最合适的书,能够多读几本经典的书,因为有些书也会浪费你的时间,其实你会发现能安静下来读书的时间越来越少。

第二点要有一定的广度,当你对某项技术非常专注之后,其实也是触类旁通的可以去了解一下其他业界的发展。因为现在各种技术被业务的发展挟持的、井喷式的出现,所以当你精通某种技术之后触类旁通的学习另外一种技术是很重要的。所以第一点是精第二点要广,精的话是要选对方向和方法,去系统的学习。

   

9. 其实很少有人提到多读书这个,我觉得您这个点提得比较好,现在能提倡大家多读好书的还不是那么多。

孙亮:很多人直接到网上找资料这种方法看似不太好。

   

10. 您现在是一个技术管理者,带团队这么大,我想问一下怎么样能使团队比较高质量高效的运作?怎么样让一个团队work得更好?

孙亮:高质量的话,第一点让大家自己去选自己想做的团队内可选的工作,这样子他的积极性会更高一些。第二点是不太鼓励大家去加班做一件事情,因为你晚上加班要不是非常紧急的事情,要不然就是你白天有可能拖拉了。第三点让大家能够高质量的工作起来是定期要有review,每两周固定的去回顾这一个季度所制定的目标,这一个半年所制定的目标是不是有所偏差?要不然会被业务拉着走,而忘了自己本身原来的计划。

高效的话可能更多是沟通,沟通非常重要,因为有的时候团队中做的事可能并不是部门需要做的事。还有就是要有团队的分工,google的运维工程师实际是以开发为主,至少具备很好的开发技能,来将我们这么多年很辛苦的运营工作的经验沉淀到工具里面来实现高效。第三点作为运维人员要对外实施自己的想法,提出自己的要求,建立自己的标准。因为你面对的是很多业务,如果你不制定标准,各个业务的开发还有其他团队都会按照自己的想法去做,而不会按照你的标准来走,你的标准如果制定的好效果首先就会出来。

   

11. 基础工作一直都是很重要,但是比较难以受重视的方面。有些管理者觉得90后的员工比较难管理,你们团队90后的有多大的占比?您对这个问题有什么看法?

孙亮:20%、30%的比例。觉得不难管理,就是沟通的方式是另外一种,思维不一样,就像70后、60后看待我们一样。

   

12. 平时您有什么兴趣爱好?自己平时业余时间是怎么渡过的?

孙亮:做一个技术人员要有长足的发展,到最后拼的都是脑袋和体力,兴趣爱好的话,锻炼身体会占一部分,前两年骑自行车比较多,有过一天骑200公里的经历,从深圳骑到惠州,国庆期间从深圳骑到罗浮山,然后到崇化,然后再骑回深圳。后来想想挺危险,但是一直坚持打羽毛球。

   

13. 最后一个问题,您对本次ArchSummit大会的观感如何,您觉得哪些地方还需要改进?

孙亮:挺好的,可以看到行业内的各个方面发展,比如你们这次找来的几个主题,运维主题还有金融云的主题都是业界发展的比较创新的地方,还有在线教育这块,收获还是蛮大的。

InfoQ:谢谢,我们的问题就是这些!

你可能感兴趣的:(孙亮:海量用户业务怎么做运维)