腾讯十年运维老兵:运维团队的五个“杀手锏”
回顾运维十年,如有一次重来的机会,什么才是最重要的?什么才是团队需要优先做的?才能在未来支撑我们更好的前行。
赵建春
赵建春,腾讯社交网络运营部助理总经理、技术运营通道会长、专家工程师。04年加入腾讯,先后从事过研发、运维、数据方面的建设和管理工作,在海量技术运营方面积累了丰富的实战经验。
“十年"不苟且的运维之路
加入腾讯已十年的运维老兵赵建春,回顾这十年:
2004年:加入腾讯,做贺卡开发;
2005年:加入QQ空间开发团队,负责留言版模块;
2006年~至今:公司组织架构调整,接触运维工作。
期间,他带领运维团队负责QQ延伸出来的各种社群的运维和维护,包括QQ空间、QQ音乐、QQ会员、QQ秀等一系列的QQ产品。团队89个人,维护了10万家服务器。经历的大事件有:
红米在QQ空间首发时,90 秒卖出 10 万台设备,获得1亿点赞;
天津大爆炸事件,把天津 2 亿多活跃用户,从天津快速调到深圳以及上海;
春节红包准备工作,2016年比2015年的红包访问量增长了10倍+,快速的扩充了 5000 台设备,最高访问量达到 477 万次/秒。
不要让自己变成一个救火队员
作为运维,最重要的是先保证自己做的系统可靠、不会轻易出错,不要让自己变成一个救火队员。可靠之后,就要用更多时间去解决效率问题,让工作变得更加高效,追求更高的目标。
对团队工作帮助最大的是什么?
资源管理:把写出来的程序和代码,进行清晰划分和分类,对每个资源采用不同形式进行搭建;
容错方案:在维护海量服务、运维过程中出现故障时,确保不能影响项目服务,服务器要做到及时处理;
统一架构 CMDBA:把一个业务模块上所有依赖资源全部登记进去;同时如果做快速决策和调度,还需要有效的监控。
DLP:内部定义的一个非常关键的监控,这个点发生后,可以知道哪里出现故障;
入口监控:告知出现故障的根源在哪儿,容错方案的 L5 是用来解决容错、灰度,路由等。
运维团队的五个“杀手锏”
L5 系统
世界上管理服务器最多的系统
运营管理系统管理了上亿服务器,脉络非常清晰,根本不会出现混乱。L5 系统(上图)也类似于 DNS 系统,有一排能提供的服务模块,从而解决的单点问题。
L5 如何做容错?
L5-主机/接口级的容错原理
L5 有由 L5、DNS 和 L5、agent 两部分构成。CGI 通过给模块提 ID,根据模块下设备的成功率和延迟情况,通过 IP+PROT 给 CGI 一个反馈,访问之后,通过成功率和延迟情况,把数据上报给了 L5agent,然后做统计数据。
当发现失败率特别低的时踢掉。当发现成功率和失败率有一定下降,会把访问权重降低,从而达到容错和负载均衡的作用。
可以注册一个模块,加多台设备,形成容错效果。如发现一台机器失败率很高,就把它踢掉。它成功率恢复过来,还可以再加回来。
新加一台服务器设计它的权重为 1,假如之前的是 100,可以逐渐上线。还可以给它一个得分,得分下降的时候,快速把它踢掉。L5 具有灰度、容错、路由、负载均衡的能力。
L5 对运维团队有哪些帮助?
减少了 80~90% 的日常故障;
不再需要频繁的变更 ip+port(也是故障源);
同过名字便利的服务上下线;
通过权重灰度上线;
模块访问关系可帮助定位根源故障;
接口的延迟和失败率可用来监控;
集容错、负载均衡、路由、灰度、监控能力于一身。
统一框架和架构
团队里有上千号开发同事,每年会有大量毕业生加入,也会有社交同事。进来以后,都希望为平台做更多的代码贡献、展现自己的技术实力,亦或是提高自己。
那么,问题来了。在开发过程中,如下图,有管道、消息队列、信息文件锁、记录锁、文件影射内存、还有迭代服务器 Select poll Io 等,这些是用各种各样技术组合生产出来的代码,交给团队维护,数以万计不同性格的服务器,要掌握得非常好,了解它的工作机制和原理,更好的维护它基本上是不可能的。
那怎么办呢?把网络通讯部分列成一个标准框架,提高它的通讯效率,统一维护。
统一框架
业务逻辑部分用 SO 动态库方式编写与框架分离部署,类似 Web 服务器上的CGI。接入层用 QZHTTP,逻辑层是 SPP 和 SF 的框架。
作为社区类服务,虽然用户的热点并不是很集中,但数据量、访问量还是很大。大量用 CKV 存储,同时针对访问量非常大的问题,如说用户没有开通空间,游戏用户,会员等标记,之后均做一个定位,形成一个高访问量的模块即可。
如下图,是一个架构体系:
接入层是 TGW,流量从它进、从它出;
中间层,利用 L5 进行调度;
存储层,因为每一个存储模块要分耗段,故加入 Access,从上到下把技术架构进行了统一规范,同时在组织上也通过接入逻辑运维层,进行标准化的维护。
统一框架对运维有什么帮助?
网络框架和业务逻辑 SO 分离管理、运维人员学习成本大大降低、框架稳定性极大提高、可跨业务统一维护、运维效率提升最高可达 10 倍。
资源打包管理
如上图,资源打包管理是对开发出的程序包进行标准打包操作,一个程序开发出来有不同特征,有需要加银行参数,有需要依赖目录,还有需要前面准备工作和后续善后工作。
把它全部放在一个类似于包里面,装进一个盒子里。之后提供标准的操作接口,如安装、卸载、启动、停止操作等这些操作让它们变成有关联的。
资源打包管理对运维有什么帮助?
部署规范统一,再也不担心找不到、标准化了操作界面,极易学习掌握、支持前后置脚本做准备和善、进程级运转的所有资源的完整镜像。
资源登记——CMDB 虚拟镜像
资源登记到二级 CMDB 形成服务的虚拟镜像,除了传统基础配置信息,把一个模块依赖的资源,全部记录进 2 级 CMDB,形成一个模块的虚拟镜像。
CMDB+资源=虚拟镜像
CMDB 虚拟镜像对运维有什么帮助?
一个模块运转的所有资源的“完整镜像”、记录了模块运转所依赖的所有资源、不再需要文档说明。
决策调度——织云自动化部署平台
在团队内部有织云自动化部署平台,从申请设备获取资源、发布部署、检测,进行测试,上线。在每个环节还有些细节步骤,如申请设备的时屏蔽告警事件,如发布时同步传输文件、如发布后检测程序的包进程是否启动,启动之后进行业务测试。
织云自动部署流程 23 步
如下图,是织云内部自动化部署的平台。相当于把这个进程开发出来以后,依赖的资源全部打包放在盒子里,把盒子里的东西放资源仓库中,有一些模块全部登记在 CMDB。
腾讯织云自动化运维体系
如果要部署一个模块 A 或进行扩容,可以人工触发或自动系统触发。
控制人工系统进行操作,把模块边上三个资源,由资源仓储部署在模块 1 上,通过 L5 系统进行一个注册,这个模块就可自动上线
。之后会把一个模块登记回来,对它进行自动化操作,每一个方块是一个步骤,这个步骤执行过去之后是绿色的,执行失败是红色,没有执行是灰色。
执行成功就可以看到,可以做自动化的扩容,可以做日常演习,还可以回收等工作。
织云全自动扩缩容
运维规范的推进历程
如下图,是运维规范的推进历程。看起来是自然而然的过来。但实际上这个过程并没有那么容易。
本文转载自公众号:51CTO技术栈
更多相关文章阅读
http://www.taodudu.cc/news/show-5634158.html
相关文章:
- 木槿校园影院估值5亿:90后追梦人叶少翔的不破不立
- Day2ps设计基础作业第三章第四章
- 网页前端培训3CSS基本使用/选择器/常用属性
- Spring事务:一文带你升入 @Transactional 底层
- 计算机重新启动白屏是怎么回事,电脑突然白屏然后重启屏不亮怎么办
- 虚拟机正在使用的过程中电脑突然重启后虚拟机不能正常使用
- 计算机使用中硬盘突然不见了,电脑机械硬盘突然消失
- 突然关机重启后mysql打不开_电脑突然死机后mysql无法启动
- 电脑开机正常启动,运行一整子之后电脑突然关机重启报错0xc000001
- 电脑自动重启是什么原因?详细解说
- win10 计算机性能评分,Win10系统PC游戏掌机GPD Win10评测 究竟性能如何
- Android Miracast投屏入门
- 打开miracast简单示例
- 抽脂填充法令纹一般要多久才能恢复,自体脂肪移植术后注意事项
- 别怕,卷积其实很简单
- 快速放松的11种简单方法。
- 快速放松的 11 种简单方法
- 快速放松的11种简单方法
- 皮肤晒黑了怎么快速变白,最好实用的?
- 红光光浴体验前的注意事项,你知道吗?#大健康#红光光浴#红光#种光光学
- 教你变漂亮的小秘诀 - Qzone日志
- 《2023年化妆品原料成分趋势报告》| 解码化妆品备案数据,洞悉2023年潜力原料成分
- 【颜纠日记】一步一步教你正确的护肤化妆流程
- 中国皮肤科设备行业市场供需与战略研究报告
- 去除面部黑色素小妙招_减轻面部色素沉着的10种小妙招
- Wincc的使用
- 在wincc中编辑语言c的另一个应用领域是关于动态向导的创建,wincc的c语言基础
- 广电“科技少年”科普大赛在广州紫泥堂基地圆满闭幕
- merchants.php,merchants.php
- 【聊天机器人测评】独立站插件用Tidio还是Zendesk?
腾讯十年运维老兵:运维团队的五个“杀手锏”相关推荐
- 【转】腾讯十年运维老兵:运维团队的五个“杀手锏”
---------------------------------------------------------------------------------------------------- ...
- 腾讯十年运维专家谈运维的自我修养
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 作者:huashionxu,腾讯 TEG 业务运维专家 技术运维作为站在研发团队背后的男人们,一直在担任着举重若轻 ...
- 与“十“俱进 阿里数据库运维10年演进之路
与"十"俱进 阿里数据库运维10年演进之路 原文:与"十"俱进 阿里数据库运维10年演进之路 阿里巴巴集团拥有超大的数据库实例规模,在快速发展的过程中我们在运维 ...
- 维天运通通过港交所上市聆讯:线上GTV减少14亿元,毛利率两连降
近日,合肥维天运通信息科技股份有限公司(下称"维天运通")通过港交所上市聆讯,并披露了聆讯后资料集(即招股书).据贝多财经了解,这已经是维天运通第五次向港交所递交招股书. 维天运通 ...
- 十分钟看懂传统运维、互联网运维和业务运维异同
从信息化时代到互联网时代,再到如今大幕初启的数字化时代,IT.互联网和移动化已经渗透到工作和生活的方方面面.今年早些时候一群歪果仁评选出中国的新"四大发明"--高铁.网购.支付宝和 ...
- 高效运维:运维自动化之殇
简介: 自动化运维到底需要做什么呢?我们做了这么长时间的运维自动化,还有什么是没做的呢?怎样更优雅的实施运维自动化?运维自动化是万能的么?有哪些潜在问题?高效运维社区发起人,开放运维联盟主席萧田国将为 ...
- 什么是运维?运维工程师主要是做什么?
什么是运维? 运维是指对大型组织已经建立好的网络软硬件的运行维护.传统的运维工作内容是信息技术运维,随着信息化的推进,除了传统的IT运维,现在还拓展了业务运维工作和日常管理运维工作. 运维工程师可以分 ...
- it工种分类_什么是运维?运维工种有哪些
展开全部 运维(Operation and maintenance)一般是指对大型组织已经建立好的网络软硬件的维32313133353236313431303231363533e78988e69d83 ...
- 对于运维以及运维开发工程师的一些了解
Linux运行是什么 什么是Linux运维 运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常 在他运转的过程中,对他进行维护,它集合了网络.系统.数据库.开发.安全.监控 ...
最新文章
- IE浏览器兼容性调整总结技巧
- 【C++】C++虚函数表详细分析(下)
- 图像局部显著性—点特征(GLOH)
- 图像灰度图,直方图,像素通道问题
- Apache log4j是领先的日志记录框架
- Redis Flushall 命令
- Windows Phone 7 不温不火学习之《工程结构》
- 你要如何衡量你的人生
- 怎么启用对远程服务器的访问,未启用对服务器的远程访问怎么办
- JAVA中List转数组和数组转List
- 静态网站以及动态网站
- 数据结构与算法之LeetCode-652. 寻找重复的子树 - 力扣(1024程序员节)
- opencv c++ Harris角点检测、shi-tomasi角点
- matlab 工业相机 曝光时间_工业相机的曝光、曝光时间、快门、增益
- 百度竞价推广的十大误区
- android usb麦克风阵列,语音设备 SDK 麦克风阵列建议
- Ubuntu 18.04 run方式安装Cuda9.0 惠普Z6工作站
- 计算几何(学习)模板
- filebeat自动关闭解决
- 2020年5月份世界计算机编程语言排行榜