写点什么

每年数千次演练背后,华为云确定性运维还有哪些真功夫?

  • 2023-01-17
    北京
  • 本文字数:3395 字

    阅读完需:约 11 分钟

每年数千次演练背后,华为云确定性运维还有哪些真功夫?

凌晨 0:14,位于南京的运维监控中心值班专家收到了业务告警,近 5000 台服务器发生故障。1 分钟内,业务系统通过双活容灾架构,实现即时自动切换。半小时左右,云服务器完成全部故障恢复,业务始终未受影响。


这场在云上生产环境的“故障突袭”,是华为云与华为终端云联合策划进行的一次技术演练。演练规模空前地下架了整个 AZ(可用区)近 5000 台服务器,以极端严苛的技术考验,验证了华为云和华为终端云的服务稳定性、健壮性。


00:00 / 00:00
    1.0x
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    这只是华为云日常实战演练的一个缩影。过去一年内,华为云在内部累计开展超过 2000 次“混沌工程”演练,联合外部客户完成超过 20 次交易类、游戏类等应用高可用演练。通过高覆盖度、高随机性的混沌工程,让华为云的业务不断处于高可用性的实时检测中,确保一旦遭遇真实故障,也能始终保持真正的安全、稳定、高质量。


    为了深入探究华为云的运维技术实践,InfoQ 日前采访了华为云 SRE 团队(站点可用性工程师)多位专家,一起聊了聊关于云时代确定性运维的理解与认知。

    云上高可用运维,焦虑从未如此迫切


    属于云的时代正在来临。如今再提起这句话,已经不再是云厂商的美好愿景,更是产业界数字化转型的确定变革方向。


    据 Gartner 预计,至 2025 年或将有 90% 的企业关闭传统数据中心,企业的行业应用开发将全面走向云化。然而,上云虽然降低了企业的技术开发成本,带来了更大的灵活性。但随着越来越多的设备、终端和传感器联网,越来越多的应用加快云化和 SaaS 化,稳定性和可靠性,已经成为每一家上云企业亟需面对的挑战。



    在传统运维时代,运维工程师需要手把手处理服务器、网络等硬件设备,而在云时代,运维工程师已经无法见到物理的任何设备,不再需要直接操作实体资源,负载均衡、动态伸缩、数据迁移等服务全部可以交由云平台厂商来提供。既然云计算释放了运维工程师的精力,那是什么原因使得云时代的运维焦虑变得如此迫切呢?


    华为云将云时代运维面临的挑战用“MATE”进行了概括:

    • M(Messy Complex)解耦的网络:系统服务化之后,耦合会使调用关系变得复杂,如何能快速做好可靠性、可用性观测、问题排查以及问题诊断,成为了云上运维的重大挑战。

    • A(Active Iteration)快速迭代:传统 IPD 版本周期长达半年,但在 DevOps 模式下,每 1~4 周便会发布一个版本,云上每天可能都有服务更新,敏捷快速的交付方式给运维和交付带来了巨大的挑战。

    • T(Trustworthy Operation)安全生产:在云计算环境中,有很多比较容易忽略的安全隐患可能被恶意利用。而且云计算环境是一个高度动态的环境,一两次的检查工作并不能保证整个 IT 环境的持续合规,云上运维对动态安全可审计的要求更高。

    • E(Evolution FullStack)全栈运维:在传统模式下交付产品,只需要对可靠性负责,不需考虑周边可用性制约因素,但是作为服务运营商,需要对服务全栈可用性负责。


    回归到运维工作的本质,无论是传统运维还是云业务运维,其根本都是为了保障企业业务的连续性,提供安全、稳定、高质量的 IT 运维服务。


    而随着云时代的到来,运维团队必须面临新业务的高度不确定,包括技术迭代的不确定性、人员技能的不确定性以及产品更新的不确定性。在层层不确定加码下,企业都迫切希望找到一个确定性的路径,将安全风险的敞口纳入技术体系保障,让系统持续高质量运行。

    “确定性运维”:从不确定中寻找确定  


    可以预见的是,随着数字化浪潮席卷千行百业,无论是软硬件故障、机房故障,还是人为操作导致故障,现网都存在着大量不确定因素。如何应对这种高度的不确定性,便是 SRE 要解决的问题。为此,华为云 SRE 提出了“确定性运维”的技术理念。


    自 2017 年起,华为云开始积极探索 SRE 的技术创新模式,目前已发展了国内最大的 SRE 团队之一。基于华为长期的研发实践和企业数字化转型经验,华为云进一步将确定性运维能力演进为涵盖“高可用架构”“动态风险治理体系”“高度智能运维框架”的有机体系,覆盖了应用从产品设计、开发到部署上线,再到日常运行的生命周期全过程。


    (在新华社智库《中国云计算创新活力报告》中,华为云斩获安全可靠能力排名第一。)


    首先,在确定性的高可用架构中,华为云 SRE 提出了确定下的三个维度定义:第一是传统的可靠性概念,让软件有确定性的失效率,并且该失效率在控制范围内;第二是确定性的恢复时长,软件失效后能在一个确定性的时间内恢复;第三就是确定性影响面,不能因为一个单点的故障就扩散到全网,需要通过一个确定性的爆炸半径,让每次故障的影响只在很小的范围。


    高可用架构,能让我们的云服务软件在前端就具备高可靠、高可用的能力。”华为云 SRE 架构师李宁泊介绍说。以开篇所描写的近 5000 台服务器突袭演练为例,之所以能够实现秒级切换、迅速恢复、业务不受影响,背后便是高可用架构在进行支撑。


    据了解,为了尽量避免故障风险,很多云厂商都采用了多 AZ 部署方案。而华为云的特点在于,多 AZ 部署之后,消息日常并不跨 AZ 流动的,让业务实现单一的消息请求,确保故障不跨 AZ 扩散。因此,AZ 内发生的任何故障都不需大费周章地单点定位、恢复,只需要自动进行 AZ 间的整体业务切换,就可以即刻消除故障影响。


    动态风险治理体系将 AI 能力引入运维,以技术驱动实现风险提前冒泡,并及时主动清除;持续提升监控、定界与快速恢复能力,构建混沌工程等主动运维能力;用数据智能支撑运维工作的持续改进。

    同时,还需要有高度智能的运维框架支持,托数据中台,结合先进的算法,实现智能告警、智能故障定界、自动恢复等功能。


    此外,为了帮助处在不同场景的企业,有效地规划和制定运维策略,华为云还推出了确定性运维成熟度模型,帮助业内同行基于运维模式,对组织、文化、体系、能力、工具进行评估,共同探讨优化策略。


    不止于稳定性保障,SRE 变革背后的千行百业数字创新


    谈及华为云 SRE 团队的工作重心,受访的专家们给了两个关键词——“向前走”和“向下走”。


    第一个关键词是“向前走”,它主要有两层含义:一层是解决问题,另一层是定位问题源头,杜绝类似问题重复产生。在早些年云业务刚起步时,SRE 工作还是聚焦于被动式运维,但随着业务规模、服务器规模呈指数级增长以后,SRE 团队发现,修复是远远满足不了业务发展诉求的。


    在近年来的探索中,华为云 SRE 发生了一个关键变化——基于全生命周期的质量管理,运维开始从后端走向前端,建立了一个“质量的大循环”,不断提升整个华为云的架构健康度、开发健康度、交付健康度以及运维健康度。在 SRE 运转体系愈发成熟的情况下,SRE 要扮演一个“先知”的角色,来发现未知的风险或者故障,同时也需要站在更高的视角,提前预知重大风险和隐患,并且通过主动运维的方式把削减风险。


    另一个关键词是“向下走”,即把专家的经验和能力沉淀到系统,变成组织资产,支撑业务往前快速发展。以华为云的现网举例,如果硬件发生故障,已经基本不需要人为干预了,SRE 团队已早早将这种能力编排进引擎,故障自愈系统将会自动识别该硬件属于哪个服务,继而调用这个服务的隔离接口或者业务迁移接口,并针对这个服务做恢复预案,让其立刻恢复。


    (华为云贵安数据中心)


    面对国内公有云市场竞争加剧的发展态势,专家认为,随着公有云厂商的发展成熟,各家在对外的基础服务功能上会慢慢趋同。在这种情况下,云厂商实现突围的关键要素是什么呢?毫无疑问,安全稳定高质量的服务是必选项,也是决定性的基础。


    当企业选定了一家云厂商后,它能不能持续地、确定地来保证现网的质量,决定了合作的未来。因此,在李宁泊看来,云厂商之间的竞争力最终是质量竞争,谁的质量更可靠,功能更稳定,谁就更容易得到客户信赖。


    在数字时代浪潮中,没有任何一个技术架构可以永远不变,没有任何一个解决方案是完美的。专家们也认识到,运维理念和技术的演进升级永远在路上。例如,在强调现网质量的同时,也需要在易运维上做更多工作,持续降低企业用云成本,保障全球企业和开发者的业务敏捷和商业成功。这也是华为云 SRE 团队安全稳定高质量业务承诺的目标所在。

    写在最后


    现网的安全、稳定、高质量一直是华为云的关键词,尽管这三个词听上去很简单,但从外部视角来说,我们能看到的只是冰山上的一部分,在冰山之下还有大量的工作要去做。


    如何把不确定的要素封闭在云厂商之内,而不外溢到客户侧,是华为云 SRE 持续追求的业务目标。“质量是我们所有研发团队的自尊心。”这是华为云 SRE 团队经常提到的一句话,而从这句话的背后,也体现了华为云对产品质量的决心和信心。

    2023-01-17 14:147370

    评论

    发布
    暂无评论
    发现更多内容

    MySQL 的 join 功能弱爆了?

    程序员历小冰

    MySQL postgres 多表join

    【DevOps实践】企业应用场景众多,怎样选择合适的代码分支模型?

    嘉为蓝鲸

    git DevOps 软件开发 持续交付 代码管理

    第八周学习性能优化 2 总结

    三板斧

    极客大学架构师训练营

    前端如何一键生成多维度数据可视化分析报表

    徐小夕

    Java node.js 大前端 React 数据可视化

    【Mycat】Mycat核心开发者带你看尽Mycat三大核心配置文件!!

    冰河

    分布式数据库 中间件 mycat

    Pulsar Summit Asia 2020 | 场景案例论坛(下):多行业,多场景

    Apache Pulsar

    大数据 开源 Apache Pulsar

    目标检测-框架之darknet-数据读取

    Dreamer

    双“11”搞促销?用贪心算法来盘他!

    王磊

    算法

    架构师训练营 1 期 - 第八周 - 性能优化 2

    三板斧

    极客大学架构师训练营

    如何使用JavaScript实现前端导入和导出excel文件(H5编辑器实战复盘)

    徐小夕

    Java node.js 大前端 React 数据可视化

    LeetCode题解:剑指 Offer 22. 链表中倒数第k个节点,递归,JavaScript,详细注释

    Lee Chen

    算法 大前端 LeetCode

    嗯,挺全乎儿的,Spring Boot 多环境配置都在这里了,你喜欢哪种?

    比伯

    Java spring 编程 程序员 架构

    双“11”搞促销?本文教你用贪心算法来盘他!

    Java架构师迁哥

    技术干货:Apache Pulsar 在移动云上的应用

    Apache Pulsar

    大数据 开源 云原生 Apache Pulsar

    【概念篇】你真正了解越来越火的“数据驱动” 吗?

    Java架构师迁哥

    Java动态修改LOGGER日志级别

    Zhendong

    Java Arthas

    七张图了解Kubernetes内部的架构

    网管

    Kubernetes k8s k8s入门

    技术实践丨基于MindSpore的ResNet-50蘑菇“君”的识别应用体验

    华为云开发者联盟

    网络 mindspore 识别推理

    要求自愿降薪,员工内心普遍满意:“服从”是如何发生的?

    脑极体

    甲方日常 50

    句子

    工作 随笔杂谈 日常

    【再见 — JVM】,需要”我”为你做些什么?

    洛神灬殇

    Java JVM Java 25 周年 1 周年盛典 InfoQ 写作平台 1 周年

    天秀!这份由阿里数位大牛编写的777页高可用架构+MySQL

    Java~~~

    Java MySQL 编程语言 高并发 架构师

    一次完整的JVM堆外内存泄漏故障排查记录

    Zhendong

    spring-注入配置

    Isuodut

    Reactor详解之:异常处理

    程序那些事

    响应式 reactor 程序那些事 响应式系统 响应式架构

    架构知识学习总结

    小黄鱼

    极客大学架构师训练营

    腾讯WeMap,一颗“孢子”的数智化之旅

    脑极体

    面试蚂蚁金服,首战被MySQL惨虐,熬夜啃透这份阿里面经复盘一个月再战拿下P7offer

    比伯

    Java 程序员 架构 面试 阿里

    阿里突遭断网断电!双11最惊险一幕刚刚曝光

    Java架构师迁哥

    架构师训练营 1 期 -- 第八周作业

    曾彪彪

    极客大学架构师训练营

    关于静态分析技术符号执行,从一个故事讲起······

    华为云开发者联盟

    代码 分析 静态

    每年数千次演练背后,华为云确定性运维还有哪些真功夫?_软件工程_郑思宇_InfoQ精选文章