acf33bc9b0cb529c3adea7ca46b242d9.gif

886ba3f23b89c90033c4e3fd8a09e3d2.jpeg

在信息技术产业的发展史上,“云化”是重要的演进。据华为发布的全球产业展望GIV预测,数字技术与智能能力逐渐以平台模式被世界各行各业广泛应用,预计在2025年,全球所有企业都将使用云技术,而基于云技术的应用使用率将达到85%。

企业数字化除了关注如何“上好云”外,如何“用好云”也是同等重要。想要“用好云”,高质量的运维是必不可少的一环。上云前,传统运维与硬件打交道为主,上云后,运维人员几乎无法见到物理设备,不再束缚于物理硬件的稳定性和可靠性,更多的工作将在云端进行,这正是传统运维向云运维的转型。

随着千行百业加快上云,云背后的海量设备、终端、应用呈指数级增长,如何保障现网的稳定性和可靠性?企业需要什么样的平台来承载复杂应用服务?华为云SRE团队给出了云时代的确定性运维答案。

dff9a5b0f1f6273715a13b7dcfbfdd38.png

云上的运维:从被动响应演进为主动预防

过去,传统运维的工作大部分时间需要和物理机器设备打交道,通过运维工具和人工迅速响应来解决现网问题。在云时代背景下,传统运维面临着诸多挑战

一是服务器规模和企业上云业务快速增加,如何在超大规模下增强云端运维能力,是每家云厂商都需关心的问题。

二是随着企业业务增长,应用和系统快速更新,如何构筑现网来应对不确定风险,是每家企业上云面临的关键挑战。

三是人因挑战,在各类数据中心和网络的技术故障里,人的操作不当因素大约占 20%~30%比例,需要有更智能的手段来克服人力的不确定性。

四是解耦网络,在全球化发展下,组网底层设施存在差异,不同国家可能有不同技术标准。在不同站点和不同机房条件下,如何达到一致的云服务质量,需要进行软件和硬件网络的解耦。

五是全栈运维,传统的运维更多关注网络对可靠性,不需考虑周边可用性制约因素,但是作为云服务商,需要对服务的环境全栈可用性负责。

bbb5e700f8e27c93b125b620997f1353.gif

应对这一系列挑战,离不开SRE 理念(Site Reliability Engineering,站点可用性工程)。在本世纪初,互联网企业迎来快速发展,大规模的线上服务迅速推出,对网络服务稳定性要求不断提高,在这种情况下,运维的职能问题和技术短板随之凸显。以当时的运维能力来说,即使能解决眼前的问题,也不足以在未来保障好持续增加的稳定性需求。为此,Google等企业开始探索新的路径:不仅传统运维必须转型,还需要在研发和运维之间,有一个专门负责保障业务稳定性的职能存在,但又不与前面二者冲突。于是,SRE便应运而生。

SRE的出发点,是通过体系化的手段来保障和提升系统稳定性,如构建自动化工具,与研发团队制定相互遵守的契约或规范,持续保证产品与服务的健康度。本质上,SRE是用软件工程的思维和方法解决复杂的运维问题,从被动响应为主,演进为构建主动预防式运维的软件工程能力为主。

在数字化浪潮下,线上业务形态不断变化。从运维的角度来看,如今现网的规模越来越大,参与的运维人员越来越多,现网的不确定性持续增加;从企业和个人用户的角度来看,数字化系统的应用和确定性保障至关重要,希望故障间隔、恢复时长和影响范围都是确定的。如何在高度的不确定性下保证现网安全、稳定、高质量,是SRE面临的重要课题。

针对市场挑战,华为云SRE提出了“确定性运维”理念。这一理念的核心,即通过一套完备的工程方法来解决,以华为云SRE的高可用架构设计、动态风险治理和高度智能的运维框架,让现网拥有确定性的质量结果,支撑高质量运维实现。

3e446f9df0a3aec057fd77aa166e811b.png

华为云SRE:从消防员向建构师的转型  

华为云架构师李宁泊仍然记得,华为云从成立的第一天起,就设立了专门的SRE团队。最初为了维护华为云整体的质量,主要做现网的试点恢复、变更等,属于与传统运维类似的偏被动性质工作。当时,华为云在软件开发上选择DevOps路线,随着业务类型、服务器规模、客户数量持续增长,许多研发运维的问题如果留待现网解决,已经难以做到即时修复,远远满足不了业务发展的诉求。以DevOps分别去开发上线、运营的方式虽然可行,谁来对华为云最终整体质量和现网的表现负责呢?

众所周知,云是一门资产运营与服务的生意。它与传统产品线做交付最大的区别是,云将产品交付给客户后,还要持续运行保障。由于现网环境复杂,可能出现问题的因素非常多,无论是软硬件的故障、机房故障、甚至技术人员变更操作故障,都可能影响现网运维,SRE便需要在高度不确定性下保证云服务稳定可用。

华为云认为,随着云时代的到来,SRE与传统运维最大的区别在于,SRE提升到了整体构建的角色当中,要从预防、守护、设计、开发等方面承担责任,从后端救火的“消防员”,转型为带着消防员视角的前端“建筑师”。

从2017年起,华为云SRE团队在做运维端的自动化和能力建设之外,也开始积极介入到云服务的开发前端,把在后端的运维经验和运维诉求,带到前端的开发设计过程中,以构筑高可用能力,使得现网在出现非预期的故障,通过提前预埋的可恢复性和爆炸半径控制能力,迅速隔离影响,并实现即时恢复。

经过反复打磨、迭代,华为云SRE已形成通用型的平台和能力,构建出一套适配数字化转型、业务上云的质量管理机制。用李宁泊的话说,SRE必须在业务上保证质量,在交付方面全程支持,而不只是单纯地提供一个工具。

在华为云SRE团队看来,SRE在运维服务生命周期中需要扮演三个关键角色:现网可用性的守护者、系统高可用性的设计者、运维软件工程能力的构建者。通过建立一个质量的大循环,不断提升华为云从开发到交付到运维全流程的健康度,以此实现华为云服务质量根本上的提升。

不得不说,华为的务实是已经刻在了基因里。即使当前的SRE团队十分成熟,但华为云仍然不断追求“更好”的SRE体系,用“确定性运维”来应对不确定性的运维风险,这是具有前瞻性和挑战的事情。意味着SRE团队须对现有研发技术、运维能力、行业格局有相当深入的理解,并且能够扮演“先知”的角色,以此来发现未知的风险或故障。

6d6c149f2de98589dd75c2880479644c.gif

华为云SRE运维团队工作场景

31536bf548497f1174a939cab2a8975f.png

“确定性铁三角”,支撑确定性运维的技术底座 

通过“主动运维”去保障未来的稳定性,是SRE的天然使命。因此,如何站在更高的视角“穿越时空”去思考可能的风险和隐患,如何在前端的设计和日常运维中,通过主动运维的方式消减风险,这是SRE团队亟需解决的问题。

面对这一挑战,华为云提出了“确定性运维”理念,打造出“确定性铁三角”技术架构:高可用架构、动态风险治理体系、高度智能运维架构。这三大能力覆盖了应用从产品设计、开发到部署上线,再到日常运行的生命周期全过程。

  • 高可用架构:高可用架构即在应用产品的设计与开发过程中,将可靠性、可恢复性、影响范围控制的特性全面融入,做到现网少出事、故障恢复快,不出恶性事件。

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

  • 高度智能的运维框架:高度智能的运维框架依托数据中台,结合先进的算法,实现智能告警、智能故障定界、自动恢复等。华为云智能运维平台在AI加持下,让华为云SRE可以更高效地服务客户。确定性运维成熟度模型,帮助业内同行基于运维模式,对组织、文化、体系、能力、工具进行评估,共同探讨优化策略。推进运维能力迈向新台阶。

739bff533fbce1a33d09cd1c64925a8d.png

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

在华为云SRE确定性能力当中,“高可用架构”是其中一大亮点。高可用架构让华为云服务的软件在前端就具备高可靠、高可用的能力,让其拥有确定性的失效率、确定性的恢复时长结束、确定性的爆炸半径。

“确定性的爆炸半径”到底是如何体现的呢?打个比方,所有的大型船只都有“水密隔舱”设计,它属于船舱的安全结构设计,将船体内部空间分个成若干个密闭的舱室,在某一船舱少部分破损进水时,其余的水密隔舱仍可以为整体船只提供浮力。

以华为云为例,目前已构建覆盖全球170多个国家和地区的“全球一张网”,支持海量客户和开发者云上协同创新,不能因为一个单点的故障扩散到全网。因此,确定性的爆炸半径就相当于一个水密隔舱,用于将每次故障的影响限定在最小范围内,让整个事件影响处于可控状态。

实际上,华为云的高可用架构的思路是通过有限的恢复模式,来收敛所有不确定的故障风险。其中,确定性的恢复时长是最难的一环。面对现网故障的非确定性,华为云选择采用黑盒切流的方式,来迅速恢复各种未知的故障。比如,在多AZ部署后,消息日常在AZ内封闭,实现单一业务请求,确保故障不跨AZ扩散。即使故障发生,也不需要单点定位、点对点的针对修复。实际上,对于 AZ内的任何故障,只需要在故障时作AZ之间的整体业务切换,就可以实现业务的快速修复,从而实现确定性的恢复时长。

在这样看似简单的描述背后,是通过华为云SRE团队长期坚持生产环境演练的成果。过去一年内,华为云在内部累计开展超过2000次“混沌工程”演练,联合外部客户完成超过20次交易类、游戏类等应用高可用演练。通过高覆盖度、高随机性的混沌工程,让华为云的业务不断处于高可用性的实时检测中,确保一旦遭遇真实故障,也能始终保持真正的安全、稳定、高质量。

通过联合演练,企业可更直观地感受到华为云高可用能力是可信的。通过对真实生产环境的突袭演练,不仅可以常态化实时验证华为云SRE的能力,还能更准确地通过数学模型达成SRE评估和自动化流程,最大程度降低维护成本。

5683af32de2ef44accd1d4afa290655c.png

2023,SRE 路在何方? 

根据Gartner发布企业机构2023年需要探索的十大战略技术趋势:可持续技术、元宇宙、超级应用、自适应下·下·AI、数字免疫系统、应用可观测性、AI信任与风险和安全管理、行业云平台、平台工程和无线价值实现。其中,数字免疫系统、 应用可观测性 、行业云平台、平台工程都与 SRE 相关,SRE 未来发展前景巨大。

早期,以Google、Netflix为代表的企业在SRE上有很优秀的实践经验,提出一系列值得学习的方法论。但值得提醒的是,SRE是一个体系,是不断运用体系后得出的工程生态圈,如果希望照搬一套方法论来实践,或希望直接找到具备SRE所有技能的工程师,并不能解决云厂商的现网难题。

基于华为30多年的数字化转型经验,和对“确定性运维”的实践探索,华为云已经构建了国内最大的SRE团队之一。在提升SRE团队能力方面,华为云也提出了自己的思考:一是“向前走”,参与到被运维对象的前端架构设计中,找到问题产生的源头,从源头杜绝类似的问题重复发生,从前端构筑高可用的质量;二是“向下走”,把大量的运维后端经验和能力沉淀到系统里,让系统来帮人干活,同时将这些能力固化到平台里变成组织资产,支撑现网的快速发展。

在云时代的背景下,企业数字化发展要寻求转型,传统运维体系的组织人员也在寻求转型。如何在这充满不确定性的时代,帮助企业系统完成更多“确定性”工作?华为云SRE探索之路将给我们更多确定性答案。

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐