云时代的运维群像:从“救火队”到“建筑师”
文章来源:南方人物周刊,文 / 悦兆
一个服务器的数据故障,可以造成多大影响?
也许会让某些人浏览器里激战正酣的超英大片“转起了圈圈”;亦或是让即将完成“三杀”成就的电竞高手们,突然指挥不动自己的英雄;也可能让某一群“剁手党”支付失败,抢购不到心仪的爆款手机。
在千千万万的软件、硬件或系统工程中,要触发故障的“蝴蝶效应”引起宕机,可能只需要一个文件的损坏,甚至短短一行代码的错误就足矣。
数字网络中没有百分百稳定的系统。比起追求绝对不出错,更重要也更现实的,是追求未雨绸缪、灵活应对、迅速纠错。面对日新月异爆炸性增长的云时代,守卫在数字系统安全稳定一线的,有一群特殊的“幕后英雄”,即云上的SRE团队(Site Reliability Engineering,站点可用性工程师)——
他们正在用软件工程的思维和方法,更智能、灵活、有效、快速地解决现网的运维问题。
虽不是“根正苗红”、“科班出身”,但丰富的开发经验,让李宁泊对于云计算时代的运维有着不一样的视角和思考。
“运维”二字,一言以蔽之,就是“维护软硬件系统的稳定运行”。在李宁泊看来,“维护”分为两种:被动维护和主动维护。
所谓被动维护,即通过运维团队的快速反应和即时修复,守护服务器和现网的安全稳定,就如同常见的Windows更新、打补丁、修漏洞。此时的运维工程师,扮演的是一个“救火队员”的角色:
在这种模式下,运维工程师在问题出现之前需随时待命,实时关注系统的各项数据、定时巡检、查漏补缺;在问题出现时紧急出动,寻找、定位、检测、验证,尽快制定并执行解决方案,扑灭“火情”;解决问题后,还需要填补问题的漏洞、优化巡检的路径、部署缺失的设备。
在这个“打地鼠”式的被动维护过程中,随着总结经验的积累,也出现了一些自动化的手段。对于一些高频问题,通过预先编写设置好的脚本,可以提升解决效率。
“传统的被动运维更像一个身处后方的守护者,出了问题就快速地恢复解决。”李宁泊说。
但互联网行业快速发展,用户数量呈指数级扩大,需要维护的系统和资源,也随之大规模增长——当增长到了一定量级,即便雇再多的“救火队员”、编再多的自动脚本,也将难以应付。对此,李宁泊深有感受:
“在云时代,一个超级数据中心每天出现各类故障的服务器可能有上百台,现网大概每30秒就会出现一次变更,即使变更出问题的概率是万分之一,也架不住海量业务带来的运维压力。”
蝴蝶效应的存在,让任何一个小问题,都有可能演变成巨大损失。即便不计成本增加救火队员的数量,也不能完全堵住所有的问题,况且人也是一个不确定因素。
此外,越来越多企业数据实时上云,海量民生服务云上转型,也对“云底座”的稳定性提出了更高的要求。没有任何一个客户和消费者愿意忍受高延迟、频宕机、易丢包的用云体验,云上的服务一旦出错,更可能影响千行百业和百姓的日常生产。
因此,必须尽可能保证不出问题。在这方面,比“人海战术”更有效的是“智能运维”。运维工程师不仅需要“向前看”——主动参与系统软件架构的开发和设计,从云服务的设计开发、工程部署、发布上线到运行态的运维能力构筑,全生命周期视角审视风险;还要“向下沉”——将SRE的运维专家经验沉淀到运维平台中,变成IT系统。SRE的能力不是仅仅构筑在人的能力上,更重要的是构筑在云服务的架构和运维平台中。
在爆炸式增长的云时代,临场救火式的维护已经远远不够。如今,李宁泊和他的同事们正在做的,正是为运维体系打造一个具备智慧思考能力的 “高可用架构”——他们不仅要当救火队,更要成为云上建筑的架构师。
“让机器去负责救火,而SRE负责制造机器。”
有人说,SRE就是一名懂运维的资深开发工程师,是“杀鸡用牛刀”。
但目睹行业风云变幻的李宁泊,深知“杀鸡就要用牛刀”的必要性。
2021年11月7日凌晨,在英雄联盟全球总决赛中,来自中国大陆赛区的EDG战队以3:2的战绩逆风翻盘,战胜韩国DK战队,登顶世界冠军宝座。
包括李宁泊在内,数以亿计的观众在各大平台上观看了直播,关于EDG夺冠的多个话题冲上了热搜榜单,各地电竞爱好者狂欢庆祝。
巨大的流量,考验着各大视频直播和社交平台的承压能力。网友投稿显示,EDG夺冠之后,某即时聊天软件的服务器似乎遭遇了短暂崩溃,导致群聊消息一度发不出去。
出乎意料的胜利,带来出乎意料的流量冲击,也再度把云服务的“安全,稳定,高可靠”,列入了所有数字化企业的重点关注事项。
Gartner预计,2025年或将有90%的企业关闭传统数据中心,企业行业的应用开发将全面走向云化。而GIV也预测,至2025年,全球企业云技术使用率将达到100%。全面云化已经势不可挡,联网的设备、终端和传感器将越来越多,加快云化和SaaS化的应用也会越来越多,对运维的质量和安全,也提出了越来越高的要求。
在市场和机遇的争夺战中,华为云无疑是近年来最积极的弄潮儿之一。在工作中,李宁泊亲眼见证了华为云的版本迭代,从以前的半年一次甚至一年一次,加快到如今每天都有数百次微服务组件的迭代发布。
小步快跑的开发和上线节奏,带来的是对云底座安全稳定高质量的极致需求:
“软件故障、硬件故障、机房故障、甚至人为操作所导致的故障,这些无处不在的隐患,实际上就是SRE每天要面对的问题。”如何在高度不确定性的环境中,保证现网质量结果是确定性的。
李宁泊的答案,也就是SRE的角色使命所在——站点可用性工程师,本质也就是云上的软件工程师——通过软件工程的方法,解决现网的问题。SRE必须深入开发前端,对产品和系统进行“庖丁解牛”,搜索痛点隐患并迅速切除、打通、重构。指导这把牛刀的,则是华为云近年来提出的“确定性运维”理念。
所谓确定性运维,简言之,就是让云提供的系统和服务——
• 有一个确定的失效率,它不会经常发生故障,失效率可控;
• 失效后有一个确定的恢复时长,不会让用户漫无止境地等下去;
• 失效故障有一个确定的爆炸半径,限制失效的影响范围,不会扩散到全网。
这三点的合集,共同形成了华为云的高可用性架构。这套架构,支撑着华为云在全球170多个国家和地区的超过240个云服务、370万开发者和海量企业业务的安全稳定高质量运行。
同时,华为云每年都在内部开展超过2000次混沌工程演练,联合外部客户完成超过20次交易类、游戏类等应用的高可用演练。通过这种高覆盖度、高随机性的混沌工程,让华为云的业务不断处于高可用性的实时检测中,确保一旦遭遇真实故障,也能始终保持真正的可用和可信。
华为云每年在内部开展超过2000次混沌工程演练
这一技术愿景和目标,也随着华为云的“全球一张网”布局,开始走遍全球和广大企业。
2018年,为了长久保障云的高可用性,华为云开始在海外进行SRE布局。
同一年,龙田兴奋地加入了年轻的华为云——他明白,这是一次重新从零开始定义云的机会。
在陆续参与了几次与国际技术专家的研讨后,龙田决定接替从国外派返的同事,在2020年疫情最严重时,逆行前往万里之外的爱尔兰,负责建立华为云的SRE欧洲人才前哨站。
如今的爱尔兰,是许多科技企业驻欧洲的总部所在地,也是国际顶级IT人才的聚集地。在高密度的技术交流和切磋中,龙田清晰地认识到了国内外技术理念的差异,也看到了不少潜在的创新机会。
第二年,龙田与SRE专家团队一起拿下了三个核心技术项目,自己也发表了三篇发明专利,其中一篇在华为内部得到了“Excellent”评级,还有一篇参与了业界的通用标准建设中。
远在中国,李宁泊带着团队最近刚刚“谋划”了一场针对南京华为终端云的“深夜突袭”。这场发生在现网的演练,直接“下架”整个可用区四千多台服务器,规模堪称空前。而南京也表现出色,在大规模突袭的4分钟后,立即修复了故障。
这只是过去一年数千场突袭演练的其中一场,对于华为云SRE和运维团队来说,他们早已习以为常。
华为云运维突袭演练纪实
作为华为云服务的客户企业,美图高级技术总监王关胜也有一番不同的感受。
拥有超2亿月活用户的美图,产品线分布广泛,既有面向大众消费者的APP,如美图秀秀、美颜相机、美拍等,也有面向企业用户的商业图像解决方案。经历了自建机房和全面上云的两大阶段,王关胜最大的感受是,投入和效率在此前后呈现的巨大差异。
在2019年之前,美图投入了较大的人力物力建设IDC,从服务器选型、托管,到工具系统开发、运维,都是费心费力不讨好。工具系统多但不好用,接口API不统一不标准,难以进行自动化建设,整体效率并不如意。
在全量上云之后,美图选择把IDC基础设施和一些中间工具的组建,都交给了华为云负责。美图的运维团队逐渐变得小而精,重复劳动减少,也让运维工作得到了蜕变——团队能更专注于行业先进技术,系统的自动化和稳定性也都有大幅提升。
在王关胜看来,华为云提出的“确定性运维”很好地诠释了华为云以客户为中心的价值观。而在实际业务中,华为云也帮助美图获得了更好的用户体验:
“每年在我们负责重大活动保障时,都能做到0故障。”
同样对华为云“确定性运维”表现出极大认同的,还有虎牙直播的SRE架构师张观石。张观石常年关注互联网服务可靠性工程和网站高可用架构,是《运维前线》的联合作者,著有《SRE原理与实践-构建高可靠性互联网应用》一书。
他把“确定性运维”融入到实践当中,提出了平台的系统要“通过确定性的目标,进行定性与定量的度量。通过确定性的运维工程,保障软件可靠性,避免故障的发生。”
面对企业与开发者需求,华为云持续对外开展“确定性运维”培训服务
无论是来自云服务商的SRE技术专家们,还是身处不同行业、不同公司的运维团队,在他们看来,SRE不仅仅是个概念,而更代表着一种在数字时代里构筑互联网安全稳定、守护用户流畅体验的力量和责任。
他们是数字时代风险隐患的“先知者”,也是安全稳定高质量的“守夜人”。
曾几何时,许多运维的理想之一,就是做一名“无名英雄”——因为往往出名之日,也是背锅之时。
但在这场全面上云的浪潮中,“运维”这一角色的定位,正在发生大转变:如今的他们,更像是维护数字化服务稳定运行的“幕后英雄”。
在过去数年,李宁泊和同事们像建筑师一般通过各种架构创新,为华为云武装了一身“真功夫”。除此之外,他们还将这些“武学精髓”与行业共享、切磋、碰撞——持续开展行业咨询和服务交流,携手客户设计混沌工程,帮助更多企业去理解和参与到这些全周期的运维准备中。
“从架构上来讲,从来没有十全十美的方案。”李宁泊认识到,云上运维的挑战和演进永无止境,在确定性运维的基础上,如何让企业客户更易用一些,让SLA服务可用性更高一些,让云更自动化、更智能、更便于运维,都是未来仍需攻坚的方向。
“只有用更先进的理念和架构,和更多团队一起筑好云底座,造好云工具,才能让客户更高效地商业成功,让开发者更自由地挥洒创意。”他说。
*文中李宁泊、龙田为化名
- 点赞
- 收藏
- 关注作者
评论(0)