跟牛人学如何做Linux运维[2]

时间 : 16-12-29 栏目 : 提升软实力 作者 : 老薛 评论 : 1 点击 : 674 次

关于组织

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

所以我们现在的内部划分成5个角色,第一个角色是运维规划。大家可以认为它是运维的PM,他起到的作用是充分理解业务需求,挖掘需求背后的价值,同时他也熟悉运维内部的各种资源,可以协调各种资源来满足业务的需求。这些运维规划都是从运维成长起来的,懂运维。

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

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

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

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

关于人员管理和培养体系

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

在我们团队里,有一套运维的成长体系,运维同学希望从事管理或者协调方面的工作,可以往运维规划方向发展;如果希望从事开发方面的工作,可以向运维开发方向发展。

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

新人在入职以后到转正有三个月,在这三个月中,一般情况下新同学不能独立操作正式的运营环境。只能在导师的带领下操作。

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

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

通过上岗认证后会拿到一个上岗证,以前是会发一个红色的证书,现在不发了实体证书了,变成电子的了。这个上岗证后面还有一个作用,后面我会讲到。

新同学转正后,日常工作中会接触到很多技术培训和分享,这些大部分是由内部同学贡献的,当然也有公司内外部的各种培训资源。

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

运维人员的考核体系

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

第一,业务指标

业务指标就是业务的一些关键性指标,比如可用性、发布效率等等,还有很多其他指标。这些指标的作用是评估运维人员的基础工作完成质量,这是由QA,就是前面所述的质量管理团队统计的,不是运维自己上报的,这样可以保证其客观性。

第二,关键事件

关键事件是运维自己制定的,用于引导运维不断优化工作。这个关键事件每个月定一次,由运维和他的leader和运维规划三方一起制定。

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

第三,加分项目

例如做分享和培训都可以加分,积极参加团队建设也可以获得加分。

第四,扣分项目

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

如果出现人为失误造成业务故障的情况,对于个人会有什么影响呢?

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

当然,这个扣分制度的目的肯定不是为了处罚,主要还是希望通过这种方式提高大家的操作意识,避免人为失误。有的同学可能会问,为什么不靠自动化来降低人为失误,而要用这种考核手段?

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

关于流程的几点思考

流程的本质就是管理和控制,其实大家做的每一件事情都有流程,随便做一个发布,做的这些步骤就是流程,所以流程其实是无处不在的。

很多运维同学都觉得流程好麻烦,觉得流程就是给运维的桎梏,其实用好流程是可以保护运维的。我们很多时候需要跟运营和研发配合,如果用好了流程这个工具是可以保护运维利益的。

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

我们觉得流程应该“隐形化”,就是让流程融入到运维系统中,让运维同学不用花额外的精力去执行流程,感觉不到流程的存在,让流程起到控制作用的同时,尽量不降低我们的效率。

关于工具建设的几点思考


首先,我们认为工具的建设者必须是工具的使用者,要懂得应用场景,否则的话,造出来的工具是不好用的。因为在这里我们是吃过一些亏的,刚才提到2009年我们就建立了运维开发团队,但是到2011年发现我们工具覆盖的情况还是不够好,运维不愿意用,我们建立的是专业的开发团队,有产品经理、开发、测试,但是为什么做出来的工具就不对运维的胃口呢?

我们后来发现,开发团队并不懂运维场景,虽然他们也会做很多运维需求的访谈,但总是发现做出来的东西不是运维想要的。

所以后来我们改变了工具开发的模式,改成在运维中培养运维开发,让运维开发自己开发工具给自己用。这样的话,为了降低开发成本,我们做了蓝鲸平台,运维只要经过两周左右的培训就可以在蓝鲸上面开发工具。

标准化是自动化最重要的一个基础,如果没有标准化的话自动化是不会长久的。如果业务之间架构差异过大怎么办呢?可以降低标准化的维度,比如我们去实现原子操作的标准化。

了解的同学应该知道,游戏架构是很不标准化的,游戏不像Web应用,有很多框架模型,它没有,各家厂商各做各的,因此我们只能做原子操作的标准化,然后再在其上去组装各种场景作业。

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

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

最后,我想说的是,前面提到运维文化中有一个产品化,为什么提产品化?因为我觉得运维平台是要以产品的理念来建设的,这里包括很多的层面,这里就简单提其中一点:重视平台的用户交互。以前,大家觉得运维平台是内部系统,能用就行,交互好不好无所谓。

但是我们发现,内部平台也需要交互优良,如果交互不好的话,可能有以下负面作用:一是交互不好容易造成误操作的情况引发故障;二是交互不好,很难用的话可能会被内部用户抛弃,被新的系统或平台替代。

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


本文标签

除非注明,文章均为( 老薛 )原创,转载请保留链接: http://www.bdkyr.com/softpower/2192.html

跟牛人学如何做Linux运维[2]:目前有1 条留言

  1. 沙发
    dingdang
    Post: 2016-12-30 下午11:14

    想成牛人,就站在牛人的肩上,倾听牛人的教诲!

发表评论

0 + 2 = ?


博主微信号,很高兴为您提供帮助

随便看看

1