随着分布式架构成为主流的系统架构设计方案,业务系统的迭代速度越来越快,后端系统架构越来越复杂,单一节点问题可能被无限放大,大规模分布式系统的稳定性保障能力越来越成为业界关注的重点。与此同时,伴随着技术角色分工越来越细、技术专业化程度越来越深,分布式系统的架构特性为其稳定性建设中的架构设计、组织设计等也带来了新的挑战。很多企业缺乏解决分布式架构下的系统稳定性、服务高可用建设相关问题的经验,成为企业保持业务连续性的一大痛点。
如何全局、精准、高效地进行分布式系统的稳定性建设工作?为此,中国信息通信研究院在以“云赋新生,精益求精”为主题的首届“精益软件工程大会”上,发布了《分布式系统稳定性建设指南》蓝皮书(以下简称《指南》)。《指南》由中国信通院云计算与大数据研究所牵头,联合来自混沌工程实验室的36家企业共同完成(完整名单请参考文末附件)。作为一份总体性的稳定性建设指南,《指南》在业界首次从全局角度出发对分布式系统稳定性建设工作进行拆解和分析,务实、有效地输出有价值的观点,能够比较全面地帮助中国企业在分布式系统建设、配套组织、运营机制设计层面进行指导落地,实现国内软件发展向更高目标迈进。
指南核心观点
“降发生”和“降影响”
稳定性建设以结果为导向
在技术变更、业务挑战加剧以及良好政策引导的背景下,系统稳定性能力建设成为企业等机构组织提升业务连续性能力的核心关注点。《指南》在明确提出分布式系统稳定性建设总体视图的同时,给出了通过评价指标实现量化的稳定性建设目标——“降发生”和“降影响”。
来源:中国信息通信研究院
分布式系统稳定性建设总体视图
系统稳定性是对产品能力的基本要求,保障产品的稳定性,就需要开展稳定性能力建设。稳定性能力建设是一个系统化工程,从硬件到软件,从人员到机制,内容涉及组织内多部门协作、稳定性流程规范制定、体系化技术实现、稳定性文化建设等一系列工作集合。
在贯穿软件生命周期全过程的稳定性工作中,从故障的视角来看,稳定性建设的最终目标是“降发生”和“降影响”。
“降发生”,即降低故障发生的概率。支持应用建设“三高能力”,即高可用、高性能、高质量,从方案设计阶段即采用面向失败的理念来设计系统架构,并通过一系列技术手段验证系统“三高能力”是否符合预期。
“降影响”,即降低故障发生后的影响范围。要实现该目标,系统需要具备早感知、快定位、急止损、优改进四大能力。其中,由于故障感知最基础和重要的原则就是完善监控告警,因此可以通过可视化的监控告警能力,感知系统的异常变化,从而尽早发现甚至预测系统故障,实现早感知。
为了实现量化评价,《指南》根据企业规模和发展阶段从三个维度提出稳定性评价指标,分别是业务可用程度、用户影响程度以及资金损失程度。
“从业务中来,到业务中去”
建设模式和路径凸显实用性
“从业务来,到业务去”无疑是稳定性保障设计的关键原则。否则,再先进的技术也可能只是空中楼阁,脱离实际业务需求的技术往往于业务产生不了最大实用性价值。只有在服务业务保障业务持续可用过程中沉淀下来的技术才是最有价值的技术。正因为如此,《指南》从软件生命周期、运行周期逐步分解稳定性保障的要点及相关建设思路,供从业者根据自身实际情况选择、规划。
在稳定性建设目标的指导下,《指南》提出系统稳定性建设思路的四大建设模式:良好的系统架构和实现、完备的容量规划设计、优秀的运维方案设计以及规范的安全设计。《指南》给出了会影响稳定性的架构设计要点,在提升核心业务稳定性的同时带来成本节约的容量设计要素,满足持续迭代发布以及线上运维诉求的变更可控、系统可观、演练到位的运维方案设计要点等。
分布式系统稳定性建设路径的确立,需要在完成稳定性建设需求分析、稳定性建设实现分析的基础上,确立一系列具体的建设活动来进行推进和落地,从全局视角利用故障预防工具、故障止损工具等稳定性建设工具来构建各项关键能力。
值得注意的是,稳定性保障能力建设是项体系化工程,庞大而复杂,非一朝一夕可以完成。故障总会发生,“没有任何一项技术或者平台能够绝对规避风险”,因此需要通过不断补全完善体系中需要的能力来最大限度降低故障发生概率或者提升故障应对速度。对于稳定性保障从业者而言,《指南》建议结合业务发展不同阶段所面临的关键风险形势进行规划,拟定合适的建设优先级及实施路径。
“把脉特色行业”
稳定性建设实现定制化
不同行业, 在推进分布式稳定性建设过程中会呈现出不同的特点。《指南》分析了互联网业、银行业、证券业、通信业、云服务业、零售业、能源业七大行业的不同特点,从其面临的稳定性挑战出发,一一给出了定制化的解决方法,从而为不同行业的分布式系统稳定性能力建设提供有价值的参考。
以互联网业为例,其受益于云原生的DevOps、Kubernetes、微服务、服务网格等技术红利,实现了运营效率和用户价值的交付效率的双提升。但是,复杂的架构也为系统稳定性保障带来了新的挑战:微服务间调用关系错综复杂,给服务性能瓶颈分析、快速定位影响评估范围和根因分析等方面带来了诸多挑战;在复杂的分布式系统中,不仅无法阻止故障的发生,而且由于分布式系统日益庞大,也很难评估单个故障对整个系统的影响;此外,容量评估不准确也对稳定性保障有着较大影响。
如何针对互联网业的痛点打造定制化系统稳定性解决方案?《指南》在架构设计方案中提出:所有的架构都是不完美的,因此在做业务架构设计时都必须要考虑服务稳定性保障,如负载均衡、多点容灾、集群化服务、数据多活等能力,建设可观测性能力、混沌工程平台、全链路压测能力并建立故障应急机制。
多措并举
推动稳定性建设迈入新阶段
当前,分布式系统稳定性建设迎来快速发展的窗口期,需要在人才、生态、标准多个领域发力,采取多重措施来提升总体发展水平,推动稳定性建设迈入新阶段。
由于尚处于起步阶段,因此分布式系统稳定性建设需要在人才、生态和标准三大领域及早布局。首先,专业化人才稀缺,急需拓宽技术交流平台,国内IT系统稳定性保障服务领域蕴藏巨大商机。其次,稳定性生态协同低效,急需赋能产业协同创新。第三,标准体系研制滞后,只有规圆矩方才能行稳致远,因此需要重视行业标准研究、建设工作,围绕系统稳定性保障相关技术完善标准体系。
分布式系统稳定性建设将开辟全新的赛道,市场参与者顺应时代发展需求有望大有可为。第一,稳定性建设能力发展不均,传统行业需求蓄势待发,正逐步丰富系统稳定性建设赛道的商机。第二,企业架构阻碍稳定性建设,组织观念正逐步进化,建设稳定性保障组织的重要性凸显。第三,过度依赖开源致“懒”,倡导创新采纳开源技术,推进开源协作模式在行业中的应用,提高对开源技术的应用水平和自主可控能力。
附件:
编写单位列表
中国信息通信研究院云计算与大数据研究所
阿里云计算有限公司
华为云计算技术有限公司
北京百度网讯科技有限公司
北京银行
杭州笨马网络技术有限公司
思特沃克软件技术(北京)有限公司
中国农业银行
南京争锋信息科技有限公司
中国科学院计算技术研究所
中信银行
华泰证券股份有限公司
中国工商银行
上海浦东发展银行
蚂蚁科技集团股份有限公司
中移(杭州)信息技术有限公司
深圳市腾讯计算机系统有限公司
建信金融科技有限责任公司
北京火山引擎科技有限公司
浩鲸云计算科技股份有限公司
中电金信软件有限公司
四川省农村信用社联合社
北京同创永益科技发展有限公司
中电云数智科技有限公司
安信证券股份有限公司
北京永辉科技有限公司
京东科技信息技术有限公司
南方电网数字电网研究院有限公司
阳光保险集团股份有限公司
上海钧正网络科技有限公司
北京云杉世纪网络科技有限公司
深圳市金证科技股份有限公司
中国银行
中国移动信息技术中心
招商银行
中移(苏州)软件技术有限公司
天翼云科技有限公司
下载指南全文:http://www.caict.ac.cn/kxyj/qwfb/ztbg/202206/P020220621683623705917.pdf
声明:本文来自云计算开源产业联盟,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。