腾讯十年运维的包袱与创新

2023-10-14 07:30

本文主要是介绍腾讯十年运维的包袱与创新,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在云计算遍及业界的趋势下,以及 DevOps 和 SRE 等先进运维理念的强势助推,运维已然成为驱动各大公司研发运维流程和理念变革的关键角色,如持续集成和发布、场景化的运维自动化、智能监控等理念的落地执行。

可以看到,运维已经慢慢承担起了稳定性保障、流程效率改进、性能优化、用户体验提升以及成本控制等关键职责,但更高的要求必然带来新的挑战和机遇,我们将如何应对?

2017年7月7日-8日,ArchSummit全球架构师峰会设置了《运维新挑战》专题来深入解读基于容器的持续集成和发布、智能监控和故障自愈等技术的实践案例,其中邀请了腾讯运维总监聂鑫老师前来分享《腾讯监控创新术》。我们借此机会采访了聂鑫老师,他为我们带来腾讯这十年运维建设的思考体会。
传统运维困境  

腾讯SNG运营部对接的是腾讯社交网络业务的所有运维工作,负责业务服务研发完成后的所有运维相关工作。团队组织形式上主要分为应用业务运维、DBC团队、组件集群运维及研发、运营体系建设团队、虚拟化技术团队、系统运维等,全部运营相关领域都会涉及,从大的分工上来说,运营部实现了在业务研发和基础网络设施中间全部运维的闭环。

回顾BAT的运维建设,很巧合地基本都是2006~2007年开始,大家一开始从一穷二白什么都没有的阶段开始逐步补充各种点的监控,经历了一大波监控系统覆盖率建设方面的建设红潮。

当初使用的传统监控主要以建设各种系统来补齐监控点为主,监控发现也主要以告警、邮件、日报等方式推送,对监控数据的利用基本还是利用各种规则和单纬度模型来处理。小规模团队主要以“能看到,能收到”为主,复杂一些的团队会建立多个指标和规则来减少告警,先进一些的团队会尝试用一些模型来优化。

但这十年来,几大互联网巨头的规模已经扩大了10~20倍,监控数据和告警的体量已经很难通过各种固定指标和单一化模型来解决。

腾讯社交网络Group也历经了这个阶段,服务规模从千级迅速膨胀到二十万级,历经十年的建设目前各种纬度的主要监控系统超过20多个,日短信告警量超过5万条,极端情况下运维和研发人员每天要接受超过1500条短信告警,各种通知和相关的报告更是不计其数。

当然我们也尝试过很多种基于经验、统计学、大数据等方式的技术优化探索,也将告警的量级降了近2万条,但对于庞大的基数和不断扩张的业务,传统的优化手段已经很难帮助团队走出困境。

十年运维的包袱与创新  

对于运维来说,十年的包袱无法说放下就放下,局部的修改和优化已经无法扭转当前的监控数据泛滥困局,针对这个问题,我们的思路包括两方面:

1、从架构上重新理清楚监控的数据本质,归纳为:流数据、多维数据、日志数据等;

2、 从产品上通过旁路的方式切入当前产品,比如架构上,我们将监控数据分成三类(流、多维、日志),重点打造这三类的数据架构体系,通过选择优秀的开源(Storm,Spark,ELK)或者自研(monitor,harmer)的数据架构来优化,尽量通过接口适配方式或者数据迁移方式,在尽量不改变原有产品形态的基础下,实现无损的将现有监控系统逐一迁入合并。

而在产品上新的创新尝试则基本都是通过旁路的方式来验证,比如这次在ArchSummit上将要分享的织云产品中的ROOT、DLP、算法等,这样可以保障充分的验证和A/B test效果。

从我们的思路来看,我们尊重历史,存在必为合理。不合理的是历史演进而产生的架构落后,可以通过技术解决;不合理的产品则需要充分的创新来破旧立新:这是自然的产物,相信未来各大同行也会逐步突破,殊途同归。

如前所说,各大互联网同行的运维建设大致都是十年左右,经历的阶段也都类似:比如从一开始的铺开去做各类系统来覆盖监控点,到逐渐做精细化的贴近用户的监控,到业务爆发后开始对已有监控的各类优化,再到目前引入各类创新手段来重新定义监控体系。

而咱们聚焦在监控上,在这么长的运维建设中我个人感触比较深的一点是:作为运维负责人,各种规模大一点的故障的复盘回顾中都会涉及监控的问题,很多案例中会同时出现两种现象:

1、反馈监控不全,需要补齐;

2、监控告警太多,人关注不到

这种现象出现的比率非常高,相当地矛盾。补齐告警容易,20多套系统总有一款能补齐告警,把告警发给所有相关的人也容易,这很粗暴,但真正能让告警被有效的关注和处理的却很困难。

如果我们目前做不到无人化的运维,那么必须让人能发挥作用,运维人员有一个合理的承受能力阀值,比如每天最多50条告警。那么为了达到这个目标,创新的方法必不可少。

比如在这次ArchSummit深圳站分享的《腾讯监控创新术》会提到的:

  • ROOT:基于业务架构的链路关联算法;

  • DLP:业务核心生死指标;

  • 大数据:通过机器有监督学习的方式来优化告警;

  • 全链路:利用海量数据关系来拓展纬度。

代号ROOT的项目即我们的数据链路计算选路,属于织云产品的一个监控功能,2014年在业界分享过,获得很多同行和厂商的关注。原理不复杂,仍然是通过既定的模型方式来关联各类告警,比较创新的地方包括引入业务架构计算链路再降维展现,告警叠加后引入面积算法来计算优先级。

做创新就像在没有路的山上行走,一定会踩坑。除了信心决心也要为踩坑做好准备,团队需要积累一定的技术深度来解决问题,用开放的心态去学习和接受新事物。

比如ROOT最开始的存储结构很复杂,没有现成的框架,直接制约了我们的想法无法落地,直到偶然的机会学习到腾讯业务产品线有相似存储场景的实现。

再比如在做全链路监控时,设计阶段对数据按号段存储还是by UIN存储有过争议,可惜的是当时没有坚持,最终导致中期性能瓶颈已经影响产品,需要做动筋骨的调整。

培养新时代的“召唤兽”  

说到智能运维可以单独有一次长时间的分享,因为十年来腾讯SNG运营部更多的是围绕着织云自动化/智能化运营体系在建设,这儿的创新和各类经验教训一言难尽。特别有一些有趣的创新和建设成果,即时对目前百花齐放的运维思路来讲,依然有很强烈的借鉴参考意义。

运维界的各类理念百花齐放已经比较多,我个人认为是现成流派的一个过程,未来随着流派的形成,各派的“招数”将逐渐形成,华山峨眉不分好坏,而分是否适合各自的企业。未来运维从业人员需要在各自的流派中深入建设,将各自的招数修炼到极致,运维界才能欣欣向荣。

但有一点,从2010年开始我个人比较坚持,那就是“会的越多包袱越大”,2009年网上有张流行的图画出了运维应该具备的各项技能(比如要会写批量脚本,要会做系统内核调优,要懂数据库SQL,要会很多Linux命令等等),而我当时对团队讲的是那张图上的90%的技能都是包袱,因为人很容易陷入通过自己已经熟悉和掌握的技术来解决问题的思考方式。

更好的方式或许是不断地分析分解我们要达到的目标是什么,为了达到这个目标我们应该借鉴哪些新思想,学习掌握什么技能,如果要超越目标,又需要做哪些布局和应用哪些新技术,甚至引入新领域人才。

近年来一些新的东西比如Hadoop、ELK、Docker、AI等被大量引入运维领域并应用起来,带来了最近的运维界春天,而作为运维从业者勇敢的放弃过去的包袱,才能拥抱新技术并创新的去扩展和应用。

时代的演进,运维界已经不能“打怪靠一招”了,是时候培养属于自己的“召唤兽”了。

作者介绍

聂鑫,腾讯社交网络运营部运维负责人,从开发到运维,伴随腾讯社交网络运营部成长的十年,负责过腾讯社交产品所有业务运维工作,目前主要负责QQ、空间等产品运维团队管理工作。经历多个业务产品的诞生到蓬勃,伴随着运维团队的成长和成熟,见证着腾讯一代代运营技术的创新和发展。作为运维界老兵有好多故事想和大家讲,也特别愿意听听各位经历的酸甜苦辣。

ArchSummit将在7月7-8日在深圳华侨城洲际酒店举办,目前限时8折报名优惠,如果在报名的过程中遇到任何问题,都可以联络我们的售票天使豆包,QQ:2332883546,电话:18515221946,微信:497788321,欢迎骚扰~


Geekbang还有一场DevOps的技术沙龙活动~

DevOps可以给企业带来3大明显的业务优势——加快产品推向市场速度,提升质量以及提高组织的有效性。在加快产品推向市场速度方面,应用DevOps缩短了开发周期时间和更高的部署频率,有研究表明,应用了DevOps实践的组织往往表现出比一般组织快几个数量级的部署和实施。在提升质量方面, DevOps可以有效提高可用性,提高变更成功率,减少故障。在提高组织的有效性方面,DevOps可以减少浪费,同时交付更多的价值至客户手中。

为了让企业更好的应用DevOps,StuQ工作坊特意请来英捷创软(LEAN SOFT)创始人兼首席架构师,DevOps专家——徐磊老师,给大家带来端到端的、可落地的DevOps实施方案指导。

0?wx_fmt=jpeg

前20位报名,享受7折早鸟票!给自己和同事抢座儿点「 阅读原文 」

这篇关于腾讯十年运维的包袱与创新的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/209048

相关文章

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

AIGC6: 走进腾讯数字盛会

图中是一个程序员,去参加一个技术盛会。AI大潮下,五颜六色,各种不确定。 背景 AI对各行各业的冲击越来越大,身处职场的我也能清晰的感受到。 我所在的行业为全球客服外包行业。 业务模式为: 为国际跨境公司提供不同地区不同语言的客服外包解决方案,除了人力,还有软件系统。 软件系统主要是提供了客服跟客人的渠道沟通和工单管理,内部管理跟甲方的合同对接,绩效评估,BI数据透视。 客服跟客人

腾讯社招面试经历

前提:本人2011年毕业于一个普通本科,工作不到2年。   15号晚上7点多,正在炒菜做饭,腾讯忽然打电话来问我对他们的Linux C++的职位是否感兴趣,我表达了我感兴趣之后,就开始了一段简短的电话面试,电话面试主要内容:C++和TCP socket通信的一些基础知识。之后就问我一道算法题:10亿个整数,随机生成,可重复,求最大的前1万个。当时我一下子就蒙了,没反应过来,何况我还正在烧

完整的腾讯面试经过

从9月10号开始到现在快两个月了,两个多月中,我经历数次面试和笔试,在经历这些的同时积累了不少的经验,也学到了不少东西,在此把它记录下来,算是和一起找工作中的同学一起共勉吧。我是本校的学生,专业是机械制造及其自动化,找工作的主要目标是计算机软件类和机械制造方向的国内的企业,所以意向去外企的同学就不必浪费时间看这些面经啦,想去国内IT企业的同学可以继续看下去。本贴中我把最近的腾讯面试经过写下

网络安全运维培训一般多少钱

在当今数字化时代,网络安全已成为企业和个人关注的焦点。而网络安全运维作为保障网络安全的重要环节,其专业人才的需求也日益增长。许多人都对网络安全运维培训感兴趣,那么,网络安全运维培训一般多少钱呢?   一、影响网络安全运维培训价格的因素   1. 培训内容的深度和广度   不同的网络安全运维培训课程涵盖的内容有所不同。一些基础的培训课程可能主要涉及网络安全基础知识、常见安全工具的使用等,价

风格控制水平创新高!南理工InstantX小红书发布CSGO:简单高效的端到端风格迁移框架

论文链接:https://arxiv.org/pdf/2408.16766 项目链接:https://csgo-gen.github.io/ 亮点直击 构建了一个专门用于风格迁移的数据集设计了一个简单但有效的端到端训练的风格迁移框架CSGO框架,以验证这个大规模数据集在风格迁移中的有益效果。引入了内容对齐评分(Content Alignment Score,简称CAS)来评估风格迁移

linux运维排查常用命令(开发专享)

cd: 进入到某个目录下 cd hikvision ll:详细展示该目录下有的文件 ll su 用户名:切换用户名 例子: su root 根据字符串在文件中查找信息:Grep –a –i 字符串 文件名 例子: grep -a -i 'indexCode=4a28a0dfe0244c0cbabcd9b2c3b60327' nms.nmsweb.debug.log cat 文

腾讯面试准备

hash、map、dict区别 右值引用 虚函数和纯虚函数 虚表 运算符重载 epoll和select es原理 一面 waf运行在nginx哪一个阶段nginx后台连接超时是否会再连接 估计是max_fails, fail_timeouttcp黏包?大数据求中位数 需要注意的问题 数据库分布式数据库分表数据库拆表大数据读取数据库查询优化等等数据库相关问题

2024年AI芯片峰会——AI芯片架构创新专场

概述 2024年9月7日于北京举行。 官方链接: 大会官网 正文 对存内计算的思考——戴瑾 面向边缘端大语言模型的RPP架构芯片与落地实践——李原 LLM推理端的特征 边缘计算的特征 来源《联想集团边缘计算白皮书》出炉 Llama2计算过程举例 RPP架构 RPP软件栈 RPP的PPA AI 芯片架构创新开启打算里第二增长曲

Node.js应用的高效部署与运维:从流程自动化到精细化监控

Node.js应用的高效部署与运维:从流程自动化到精细化监控 目录 🚀 使用 pm2 管理 Node.js 应用🐳 容器化部署(Docker)☁️ 云服务部署与自动化扩展📈 应用监控与健康状态维护🤖 自动化运维与流程优化🛠️ 版本控制与发布管理 🚀 使用 pm2 管理 Node.js 应用 pm2 是 Node.js 生态中非常重要的进程管理工具,它简化了 Node.j