【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

    阅读完需:约 11 分钟

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

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


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


00:00 / 00:00
    1.0x
    • 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:147053

    评论

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

    数字化转型失败,有哪些原因?

    禅道项目管理

    数字化转型

    作业4

    施正威

    一文了解区块链如何帮助打击虚假信息

    CECBC

    spring源码搭建

    派大星

    Spring5源码解析

    潘娟:Keep open,Stay tuned 开源为我打开的全新世界 | TiDB Hackathon 2021 评委访谈

    PingCAP

    Flink类型系统的根及相关接口

    编程江湖

    flink

    编写Spring MVC控制器的技巧

    编程江湖

    Spring MVC

    架构营模块八作业

    GTiger

    架构实战营

    10个问题让你快速避开java中的jdbc常见坑

    华为云开发者联盟

    Java 数据库 JDBC fetchSize Prepared Statement

    「自我检验」熬夜总结50个Vue知识点,全都会你就是神!!!

    Sunshine_Lin

    面试 Vue 前端 进阶 ES6

    作业5

    施正威

    【Golang】浅谈协程并发竞争资源问题

    恒生LIGHT云社区

    golang 后端 协程 并发 Go 语言

    什么是Log4Shell?Log4j漏洞解读

    龙智—DevSecOps解决方案

    log4j Log4j 2 Log4Shell

    测试阻碍交付,如何破解这一难题?

    SoFlu软件机器人

    科技驱动经济发展的时代全面到来

    CECBC

    Java开发之测试框架知识分享

    @零度

    Java

    Hive on Spark和Spark sql on Hive,你能分的清楚么

    华为云开发者联盟

    sql 分布式计算 Sparksql hive on spark 数据源

    书单 | 学习数据可视化?看这些书就够了!

    博文视点Broadview

    面试官:为什么不同返回类型不算方法重载?

    王磊

    今天你的静态变量和静态代码块执行了吗?

    华为云开发者联盟

    Java 类加载 静态 静态变量 静态代码块

    What's new in dubbo-go-pixiu 0.4.0

    apache/dubbo-go

    一文整理区块链技术为企业带来的九大好处

    CECBC

    SphereEx 完成近千万美元 Pre-A 轮融资,加速构建新一代数据库生态引擎

    SphereEx

    开源 融资 ShardingSphere SphereEx 嘉御资本

    大数据开发之Hive SQL的优化分享

    @零度

    大数据 Hive SQL

    网络安全好学吗?基础入门篇,NMAP高级使用技巧和漏洞扫描发现

    学神来啦

    网络安全 渗透测试 kali基础 nmap kali Linux

    nodejs 异步I/O和事件驱动

    编程江湖

    nodejs

    带你认识7种云化测试武器

    华为云开发者联盟

    测试 接口测试 华为云DevCloud 云化测试 Mock 服务

    netty系列之:选byte还是选message?这是一个问题

    程序那些事

    Java Netty 程序那些事 UDT 1月月更

    EMQ 映云科技入围 Venture50 行业榜单,数字科技企业风向标!

    EMQ映云科技

    物联网 Venture50

    前端开发Vue中的v-指令的使用

    @零度

    Vue 前端开发

    【量化】量化交易入门系列3:经典的量化交易策略(中)

    恒生LIGHT云社区

    量化投资 量化交易 量化

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