腾讯最赚钱的部门是怎么作运维的?

本文来源:腾讯最赚钱的部门是怎么作运维的?安全

http://card.weibo.com/article/h5/s#cid=1001603864876505250090服务器

 

腾讯互动娱乐事业群的主营业务是游戏,全部腾讯游戏都是由这个事业群作的,估计不少人都玩过,像《英雄联盟》、《全民突击》等。我所在的部门叫运营部,负责全部腾讯游戏的技术运营工做。架构

 

 

简单解释一下,什么叫技术运营工做,这里包括了几个部分:运维,营销开发,数据分析和数据挖掘,用户运营(所谓用户运营,不是传统的客户服务,是一些高端的用户运营。)框架

好比说在腾讯游戏上一年花八万,就是咱们的VIP,咱们有专属的服务经理对接,就像银行的VIP用户同样。这里就不展开了,重点说说我所负责的运维管理工做吧:运维

 

 

 

如上所说,咱们所负责的运维工做,是运营部的一部分工做。咱们如今运维了几百款游戏,并且数字还在快速增加,特别手游加入以来,每一年都有一两百款。工具

简 单介绍一下腾讯游戏运维团队的发展历程:咱们团队是2003年随着腾讯代理《凯旋》游戏而成立的,发展到2005年的时候,咱们作了一件事情,就是DO分 离,DO分离的概念前些年提得比较多,如今你们好像再也不提了。回头来看,咱们以为DO分离是颇有必要的,由于开发跟运维须要具有的核心能力是不一样的。开发工具

接下来,在2006年的时候咱们作了QO分离,意思就是咱们把质量管理团队(QA)和运维分离开了,这个后面我会再讲一下。随着团队进一步扩张,业务进一步增长,2007年的时候咱们把DBA专业团队分离出来了。测试

到2009年的时候发现业务发展很快,老板不给咱们这么多人,怎么办?光靠人去填的模式已经运行不下去了,因此当时成立了运维开发团队,专门建设运维工具。同时在2009年咱们还成立了一个内部安全团队,这个团队可能不少公司都没有,比较特殊。优化

由于你们知道游戏行业,有些游戏类道具很是值钱,说不许哪一个同窗手一抖给本身加个几十万,因此咱们成立了内部安全团队,作安全监控,其中也包括权限控制,你们都知道,自动化系统权限控制很是重要,若是这个没控制好就会出现灾难性后果。3d

时间到了2012年,咱们开始提倡运维转型,鼓励运维向运维开发转型,让运维本身开发所需的工具来实现自动化。如今,咱们提倡运维服务化和平台产品化,这个后文会提到。

接下来,我从文化、组织、人、流程、工具这几个维度分享一下运维管理的点滴经验。

 

 

咱们团队的运维文化

 

 

运维文化:当一个团队规模较大时,例如咱们团队,有两三百人的规模,这个时候咱们可能须要一些文化层面的东西来统一你们的思想,让你们在行为上按照咱们的文化来思考和执行。

咱们目前提倡的文化,叫“运维四化”:服务化、标准化、自动化、产品化。标准化和自动化你们都比较好理解,我就不讲了。重点强调一下咱们为何提出运维的服务化。

为何要“服务化”?

 

 

运维的本质究竟是什么?

我从2002年开始作运维,一直到如今,都算是在运维行业里摸爬滚打,之前,我以为作好发布变动、故障处理,让业务保持运行稳定就是运维的价值,但经过这几年的思考和实践,我以为那是不够的。

那么运维的本质究竟是什么呢?我以为是服务,是服务于业务,由于运维是用技术解决业务问题,运维的价值要依托于业务才能体现。

运维不是由于技术高深,或者管理了几万台服务器而很牛逼,也不是能玩转不少开源工具而很牛逼,这都不是运维的关键。

我提一个观点:对于运维来讲,服务第一,技术第二。运维技术再牛,若是不能服务于业务,帮助业务取得成功,那价值也是有限的。那么怎样服务业务呢?咱们总结了四点:

贴近业务:就是咱们必定要与业务走得比较近,保持信息的畅通;

理解业务: 要知道业务目标是什么,用户群是什么,商业模式是什么样的。以前我见过不少运维,甚至在公司作了半年、一年,还不知道所运维的业务的商业模式是什么,这样 的话咱们怎么能有针对性地提供服务,去帮助业务成功呢? 理解业务还意味着要站在业务运营的角度思考问题,而不只仅站在运维的角度思考。

挖掘需求背后的价值:咱们常常会收到运营人员提出的需求,在理解业务的基础上,咱们要挖掘这些业务需求背后的价值,好比说运营人员让发一个版本,作为运维,咱们是否是把这个版本发布完就OK了呢?

确定是不够的,咱们还要去看业务发这个版本的目的是什么?多是为了拉新用户,也有多是作个活动去拉收入,或者是修复bug。

每 一个版本的目的不同,运维所作的事情是能够不一样的。好比这个版本是拉新用户,咱们把版本发布完之后,还能够采集更多的数据,去帮助运营人员分析,看是不 是达到了拉新用户的目的。或者协助运营人员分析,这个版本的用户体验对于拉新用户是否是有瓶颈。这都是运维可作的事情,也是业务运营很须要的事情。

扩展服务价值:着眼于业务和服务,咱们能够不断挖掘到新的价值点,扩展运维服务的价值。

固然了,这里毫不是说技术不重要,优秀的运维服务须要强大的技术来支持。举个例子,你想协助运营人员作用户体验的分析,这须要较强的技术能力来支撑。由于像上述的版本数据分析对实时性的要求很高,若是你没有及时分析出来,错过了运营时机可能就来不及调整了。

能够说,业务视角和服务意识决定了运维服务能够拓展到哪里,而技术能力则决定了这些服务最终能够实现多少。

前文讲了咱们的历程,在2009年,咱们作了一些组织分工,咱们DBA团队,开发团队,安全团队都从这里分离出来了。

 

关于组织

这里想分享的经验是:当团队和业务发展到必定规模的时候必定要考虑到专业化分工,业务和团队规模小的时候不必分的太细,由于业务场景对专业性的要求可能不高,随着业务发展和团队变大,专业性的要求就高了。

因此咱们如今的内部划分红5个角色,第一个角色是运维规划。你们能够认为它是运维的PM,他起到的做用是充分理解业务需求,挖掘需求背后的价值,同时他也熟悉运维内部的各类资源,能够协调各类资源来知足业务的需求。这些运维规划都是从运维成长起来的,懂运维。

第二个角色业务运维,这个就不讲了,你们都清楚。

第 三个角色DBA,你们都知道DBA的重要性,他们最重要的职责之一就是要保证数据的安全。一个业务,就算是遇到像携程此次的状况,就算所有线上环境都没有 了,可是只要数据还在,业务都仍是能够恢复的,但若是连数据都找不到了,那就真完蛋了,因此DBA必定是独立的,必定要保证数据是万无一失的。

系统运维这个角色也不说了,你们也比较清楚。

还有就是运维开发的角色,咱们以为运维开发不是传统的开发,运维开发首先是运维,其次才是开发,他们须要站在运维视角看问题的,站在运维视角开发工具给运维用。

 

关于人员管理和培养体系

 

 

组织里最重要的是人。在一个必定规模的团队里,创建人员的成长和培养体系是很重要的,尤为像规模到几百人的时候,咱们怎么样保证团队里的同窗们具有相应的能力和成长空间。

在咱们团队里,有一套运维的成长体系,运维同窗但愿从事管理或者协调方面的工做,能够往运维规划方向发展;若是但愿从事开发方面的工做,能够向运维开发方向发展。

配 合成长体系,有一套培养体系。新人加入之后,首先有新人培训。这里所培训的内容都是与运维相关的,好比运维系统的培训,在新人培训里有专门的篇幅是安全意 识相关的,从刚入职开始就灌输安全意识。此外,新人培训中还包括腾讯游戏运维血泪史,经过分享以前的教训提升新同窗的运维操做意识。

新人在入职之后到转正有三个月,在这三个月中,通常状况下新同窗不能独立操做正式的运营环境。只能在导师的带领下操做。

那怎么才能具有独立操做能力呢?须要考运维上岗认证,这个认证包括考试和评估两个环节,考试的内容大部分是新人培训的内容,例如安全意识、运维操做规范等。

评估的形式是几位资深的运维现场对被评估者进行评测,考察他们在各类场景的理解和反应,这些是不能经过背书本知识来回答的,因此仍是比较考验新同窗的能力和意识的。

经过上岗认证后会拿到一个上岗证,之前是会发一个红色的证书,如今不发了实体证书了,变成电子的了。这个上岗证后面还有一个做用,后面我会讲到。

新同窗转正后,平常工做中会接触到不少技术培训和分享,这些大部分是由内部同窗贡献的,固然也有公司内外部的各类培训资源。

当 某位同窗在团队内工做了一段时间以后可能会面临成长的问题,咱们会挑选出有潜力的同窗上运营规划培养班或运维开发培训班。这两个培养班分别培养运营规划和 运维开发。拿运营规划培养班作例子,选定的同窗通过半年的培养后经过考核才能成为的运营规划,经过率大概在40~60%;

运维人员的考核体系

 

 

运维人员的考核分为几个部分:

第一,业务指标

业务指标就是业务的一些关键性指标,好比可用性、发布效率等等,还有不少其余指标。这些指标的做用是评估运维人员的基础工做完成质量,这是由QA,就是前面所述的质量管理团队统计的,不是运维本身上报的,这样能够保证其客观性。

第二,关键事件

关键事件是运维本身制定的,用于引导运维不断优化工做。这个关键事件每月定一次,由运维和他的leader和运维规划三方一块儿制定。

举个例子,咱们发现某个游戏它的发布时长过长,就能够把发布时长优化作为这个游戏的运维人员这个月的关键事件,目标是把这个业务的发布时长从多少降到多少。制定关键事件的目标时比较细,要求是量化的,月底时运维根据完成状况得到关键事件的得分。

第三,加分项目

例如作分享和培训均可以加分,积极参加团队建设也能够得到加分。

第四,扣分项目

我 们的考核思路是尽可能用正向加分的方式引导,通常不扣分。除非是人为失误形成业务故障。所谓人为失误指运维操做不当形成的问题,咱们对人为失误持“低容忍” 的态度,由于咱们以为作为运维,意识是很是重要的,操做时要时时刻刻秉持当心谨慎的态度,抱着敬畏的心情对待运营环境。

若是出现人为失误形成业务故障的状况,对于我的会有什么影响呢?

前 面提到的运维上岗证的另外一个做用就在这里了,你们都知道违章后驾照扣分这项处罚措施挺有威慑力的,咱们吸收了经验,对运维上岗证也实行积分扣分制度:运维 上岗证每半年都有10分的积分,若是出现人为失误的故障就从中扣除必定的分数,若是分数扣完,上岗证就会被注销,那么这位运维就须要被评估是否适合在运维 岗位上继续工做了。

固然,这个扣分制度的目的确定不是为了处罚,主要仍是但愿经过这种方式提升你们的操做意识,避免人为失误。有的同窗可能会问,为何不靠自动化来下降人为失误,而要用这种考核手段?

这里我想说,根据咱们的经验,游戏运维是很复杂的体系,特别是团队大了之后,自动化程度再高仍是有不少人为失误的空间,最终的决定性因素仍是人,因此,意识强化和考核手段仍是不可或缺的。

 

关于流程的几点思考

 

 

流程的本质就是管理和控制,其实你们作的每一件事情都有流程,随便作一个发布,作的这些步骤就是流程,因此流程实际上是无处不在的。

不少运维同窗都以为流程好麻烦,以为流程就是给运维的桎梏,其实用好流程是能够保护运维的。咱们不少时候须要跟运营和研发配合,若是用好了流程这个工具是能够保护运维利益的。

可是,流程执行起来的确有成本,那怎么下降流程的成本呢?

咱们以为流程应该“隐形化”,就是让流程融入到运维系统中,让运维同窗不用花额外的精力去执行流程,感受不到流程的存在,让流程起到控制做用的同时,尽可能不下降咱们的效率。

 

关于工具建设的几点思考

 

首先,咱们认为工具的建设者必须是工具的使用者, 要懂得应用场景,不然的话,造出来的工具是很差用的。由于在这里咱们是吃过一些亏的,刚才提到2009年咱们就创建了运维开发团队,可是到2011年发现 咱们工具覆盖的状况仍是不够好,运维不肯意用,咱们创建的是专业的开发团队,有产品经理、开发、测试,可是为何作出来的工具就不对运维的胃口呢?

咱们后来发现,开发团队并不懂运维场景,虽然他们也会作不少运维需求的访谈,但老是发现作出来的东西不是运维想要的。

因此后来咱们改变了工具开发的模式,改为在运维中培养运维开发,让运维开发本身开发工具给本身用。这样的话,为了下降开发成本,咱们作了蓝鲸平台,运维只要通过两周左右的培训就能够在蓝鲸上面开发工具。

标准化是自动化最重要的一个基础,若是没有标准化的话自动化是不会长久的。若是业务之间架构差别过大怎么办呢?能够下降标准化的维度,好比咱们去实现原子操做的标准化。

了解的同窗应该知道,游戏架构是很不标准化的,游戏不像Web应用,有不少框架模型,它没有,各家厂商各作各的,所以咱们只能作原子操做的标准化,而后再在其上去组装各类场景做业。

我 们作自动化必定要打通企业内的各个信息孤岛,全流程的自动化才是真正的自动化。只有都打通了,在做业执行过程当中才不会中断,能够实现无人值守的自动化,蓝 鲸平台就是这样的,它有一条ESB,打通了不少外部的系统接口。运维在蓝鲸上开发工具须要打通其余系统的直接调用就好了,大大提升了开发效率。

产品化:运维平台要以产品理念建设

最后,我想说的是,前面提到运维文化中有一个产品化,为何提产品化?由于我以为运维平台是要以产品的理念来建设的,这里包括不少的层面,这里就简单提其中一点:重视平台的用户交互。之前,你们以为运维平台是内部系统,能用就行,交互好很差无所谓。

可是咱们发现,内部平台也须要交互优良,若是交互很差的话,可能有如下负面做用:一是交互很差容易形成误操做的状况引起故障;二是交互很差,很难用的话可能会被内部用户抛弃,被新的系统或平台替代。

因此,运维平台作为内部平台,也须要重视用户的交互,必定要有良好的界面,要让用户操做起来比较方便并且不容易发生误操做。

相关文章
相关标签/搜索