×

扫描二维码登录本站

标签: 暂无标签
本帖最后由 monicazhang 于 2020-12-10 13:43 编辑


一、背景:我们是网络运维工程师


我们维护的设备:厂家定制,专有软硬件的通信设备。


我们眼中的世界:路由、协议、网元、信令、局数据…


我们日常工作内容主要涉及以下三个方面:


但是,我们的人员素质较高,100%的工科背景,都具备基础的编程技能,大部分人对运维开发转型充满兴趣。


二、我们遇到了点小麻烦


随着通信技术的发展,网络运维的压力和责任越来越大。


与知名互联网公司对比,我们维手段较原始,大量工作处于人肉运维阶段;对标先进互联网公司,我们还有很长的路要走。


国企的人力成本存在红线,人力资源不足。即运维的设备越来越多,但是人不见多。2014到2019年,语音核心网元增加了80%,但是运维人员仅增加12%。


虽然支撑系统平台手段众多,但日常维护中仍存在大量的手工冗余操作。支撑平台开发周期长、开放性差,是两个较大的问题。


网络设备正在向IT云化演进,网络运维人亟需转变传统思维,向IT化思维靠拢。


复杂的云化架构有时发生故障根本无从查起,诡异的故障无法用科学解释。


无法用科学解释的时候,迷信就出现了。


三、浙江移动的SRE转型之路


1、转变思想

在转型过程中,我们吸收了谷歌的SRE运维思想。SRE是Google对DevOps的实践总结。

SRE的终极目标:保证业务连续性。

SRE把运维问题变成了软件工程问题:

  • 50%~60%软件工程师;
  • 其他具备85%~99%软件技能,且具备一定程度其他IT技能的工程师。


SRE模型的优势:

  • 运维人数相对少;
  • 开发团队和运维团队的冲突焦点消除;
  • SRE团队和研发团队之间的成员可以自由流动。


•SRE模型的问题:符合SRE的人才难招聘

SRE与DevOps的关系:SRE理念是DevOps的具体表现形式。DevOps和SRE是道,DevOps工具是术。


SRE做的是运维自动化,但自动化不是目的。

自动化有3种形式:

  • 外部自动化:即通过外部的工具和脚本,实现运维自动化功能。
  • 内部自动化:即将开发的脚本和工具部署在系统内部,实现自动化
  • 服务强化:在系统设计和开发阶段就考虑到运维手段,将运维自动化体系原生嵌入到系统中。


目前我们主要做外部自动化,冰箱内部自动化和服务强化迈进。

自动化后带来的好处:

  • 高度的一致性:无论新手还是专家,作出的判断和操作完全一致
  • 问题快速反应:发生故障快速反应
  • 完成任务省时:完成报表取数、优化分析等任务省时省力
  • 固化经验:将运维人员的经验和教训固化到代码中流传下去


2、确立目标

SRE团队的目标:提倡主动运维思维,以运维开发为手段,依托SRE运维模式,提升运维人员ICT技能, 支撑各专业高效运维。

但是只有当团队目标与个人目标相一致时,团队才是可持续发展的。

让我们来看看SRE运维开发转型如何实现运维工程师们的个人目标:


3、建立良好的生态圈

1)建立组织架构

建立议事会负责制的半刚性组织架构制度:


  • 议事会:负责组织架构设计、管理模式探索、人员IT转型等。
  • 技术支持团队:负责技术演进、技术支持、人员技能培养、开发平台搭建和维护等。
  • 工作小组:聚焦应用开发、服务开发和平台开放性探索。


2)建立OKR导向的正向激励制度


除了行政架构的激励外,还存在横向的SRE OKR激励。

3)探索人员分工


人员角色介绍:

  • Enbedded SRE:嵌入式SRE,活跃于运维团队中,主要实现自身的自动化需求,有日常负责运维的设备,需要参与on-call值班。我们大部分成员均属于此种类型。
  • Platform SRE:平台开发型的SRE,主要对平台负责,开发新平台或对存量平台进行开放性改造,以使其它SRE成员可以方便的在其上开发。无日常运维设备或on-call值班的要求。
  • Consulting SRE:顾问型SRE,技能较高的成员,平时负责为SRE其它成员答疑解惑,解决问题,或是参与到其它成员的具体项目中进行开发指导或牵头开发,项目进入正轨后即退出项目组。平时无运维设备或on-call值班的要求。


4)专注人员培养

技能培养:依托IT和CT能力培养体系,针对SRE人员、存量运维人员、新员工、协维人员制定不同的人员培养体系。


人员成长后评估:从5个方面,21个评分项对人员进行画像,完成人员的培养后评估。


5)完善日常工作框架

建立SRE日常工作框架,确定技术规范,避免技术债务。


6)搭建开发支撑平台

通过建平台、解耦合两部分工作来搭建SRE的开发支撑环境。


服务原子化,新增开发区,积木式开发,提升效率,降低开发难度。


平台开放化,依托平台进行功能增强,不需考虑底层和前端,大大降低难度。

四、阶段工作成果


团队经过2年多的建设已经初具成果,共培养SRE团队成员97人,完成开发需求200余个,具有如下的优势:

  • 需求实现快:基于开放解耦的平台进行搭积木式二次开发,单个功能点开发平均仅需2个小时,需求到上线时间缩短551倍。
  • 痛点切入准:运维专家转型开发人员,网络痛点了然于心。
  • 人力大解放:机器换人,大量运维工作自动化,值班人员减少70%。
  • 压力大释放:逐步接受与信任系统,具体的运维工作逐步转交给自动化系统完成,释放运维人员压力。


>>>>
Q&A

Q1:请问如何说服领导组成sre团队的?毕竟是垂直管理的企业。

A:转型肯定是自上而下的,自下而上那叫革命,如果得不到领导的支持,那么转型肯定不会成功。随着通信网络技术的演进,语音、短信这类传统业务的收入大幅下降,后续的技术和人员架构会怎么样,我们之前也是迷茫的,不知道路在何方,但是通信网络IT化这个趋势是明确的,这个就需要我们去转型。

对于如何进行转型,领导层面的考虑肯定比我们多,而且更深入。这时我们了解到了Google的SRE理念,觉得很符合我们的诉求,就跟领导一拍即合,把这个作为我们转型的方向了。

Q2:请问贵公司的自动运维是自研的吗?用了哪些开源的技术或产品呢?

A:公司层面我不太好回答,但是在我们部门,大部分是的。我们使用了很多的开源技术和产品,比如Hadoop、Flink、Zabbix、Ansible、Jenkins等等。不过虽然使用了那么多开源的软件,但是我们还是非常注意开源软件的引入安全的。

Q3:如何让外购系统厂家帮忙解耦他们的系统?

A:之前外购系统都是一个一个独立的烟囱,我们有新的需求提给厂家实现都很慢,厂家不懂业务,我们不懂开发,需求沟通存在较大的成本,而且开发出来的功能往往与我们需要的相差甚大。这种情况下我们与厂家存在比较大的矛盾,我们说他们开发慢,难沟通,开发出来的东西不好用;他们说我们需求奇怪,需求变更太频繁,对完成时间点要求太高。

如果外购系统解耦之后呢,系统厂家只需要维护他们系统框架和开放出来的接口,一些业务功能由我们自己来开发实现,搭在他们的平台上,这样需求实现快,功能上可以完全满足我们的需求,而我们又省去了平台维护的工作,对平台厂家来说又不会受到频繁的需求变更单,也不需要去深入的了解我们的业务需求,对两方来说都省事多了,完全是双赢的局面。

我们把以上这些有利之处跟厂家说清楚,厂家都是比较愿意接受的,后面我们就把需要开放解耦的地方敲定,作为需求提给他们就可以了。

Q4:SRE日常工作里面,提到的需求归口管理,是指业务需求?

A:是的,对于我们来说,运维需要的功能就是我们的业务需求。

Q5:此外开发的开发规范,是约定到所有业务系统开发厂家的代码开发规范,一套标准么?还有API调用规范等,如何进行约束?因为涉及厂家非常多,管控难度非常大。

A:开发规范是针对我们SRE的,并不是针对业务系统开发厂家的。这是为了规范代码格式和代码行为,形成良好的代码风格,便于运维经验固话在代码中后的回溯。因为都是基于SRE团队的,也不存在厂家多管控难度大的问题了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x




上一篇:在SRE的位置上如何看待推荐和搜索
下一篇:SRE应该具备的能力和素质
monicazhang

写了 2297 篇文章,拥有财富 12859,被 21 人关注

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies

成为第一个吐槽的人

Powered by ITIL  © 2001-2025
返回顶部