QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

  • 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:147439

    评论

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

    滚雪球学Python系列,真能学会Python!

    梦想橡皮擦

    内容合集 签约计划第二季

    Redis架构实战:高并发情况下并发扣减库存

    编程江湖

    java编程

    开始读 Go 源码了

    AlwaysBeta

    golang 源码 源码阅读 源码剖析 Go web

    架构实战营 模块七作业

    felix

    「架构实战营」

    清空数组的几个方式

    编程江湖

    大前端

    【Java】代码重构时,为什么禁止在方法内对对象类型的入参赋值

    恒生LIGHT云社区

    Java 代码规范 java代码规范

    做一款互联网内容平台,到底要懂多少AI?

    百度开发者中心

    AI

    等保工作五大误区汇总,让你更懂等保!

    行云管家

    网络安全 等保 等级保护

    前端避坑指南丨辛辛苦苦开发的APP竟然被判定为简单网页打包?

    YonBuilder低代码开发平台

    大前端 APP开发 APICloud 跨端开发

    模运算和与运算的一点儿简单思考

    LSJ

    位运算 二进制

    CIO如何制定低代码/无代码战略

    BeeWorks

    复杂场景,从OpenTSDB迁移到TDengine的最佳实践

    TDengine

    数据库 tdengine

    如何在 Flutter 中设置背景图像【Flutter专题15】

    坚果

    flutter 28天写作 签约计划第二季 12月日更

    大数据开发技术应该怎么学习入门才好

    @零度

    大数据

    HBase 和 Hive 的差别是什么,各自适用在什么场景中

    编程江湖

    大数据

    mPaaS 月度小报|魔方卡片(Cube)公测,十个卡片模板任意使用

    蚂蚁集团移动开发平台 mPaaS

    小程序 消息推送 移动开发 API网关 cube

    青藤解密:72%客户容器规模>100个,[镜像安全]谁来保护?

    青藤云安全

    镜像安全

    软件工程师年满 40 岁,下一步怎么走?|本周话题

    InfoQ写作社区官方

    生涯规划 个人成长 职业规划 话题讨论

    莫要寻找可能不存在的答案

    FunTester

    学习 解决方案 自学 FunTester 思路

    【AI最前线】精准优质-资讯|分享|热议第42期

    百度大脑

    打造基于 PostgreSQL/openGauss 的分布式数据库解决方案

    SphereEx

    数据库 开源 分布式数据库 ShardingSphere SphereEx

    同态加密实现数据隐私计算,能让你的小秘密更加秘密

    华为云开发者联盟

    数据 加密 同态加密 联邦计算 数据隐私计算

    百度智能客服斩获 “金音奖—中国最佳客户联络中心技术与解决方案奖”

    百度大脑

    人工智能 智能客服

    JVM中的对象及引用

    Ayue、

    技术专题合集

    MySQL「 Every derived table must have its own alias」1248 错误修复法

    蒋川

    数据库 MySQL 运维 MySQL 数据库

    什么是云计算?云计算特点是什么?

    行云管家

    云计算 公有云 混合云 云资源

    模仿UP主,用Python实现一个弹幕控制的直播间!

    Zhendong

    Python

    Go语言学习查缺补漏ing Day2

    恒生LIGHT云社区

    Go 编程语言

    火山引擎+焱融 YRCloudFile,驱动数据存储新增长

    焱融科技

    云计算 分布式 云原生 高性能 文件存储

    详解工作流框架Activiti的服务架构和组件

    华为云开发者联盟

    工作流 工作流引擎 BPM Activiti BPMN

    面对行业难题,华为云邀请物联网全行业拿出“亮剑”精神

    华为云开发者联盟

    IoT 华为云 LiteOS HarmonyOS IoT边缘

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