终端云业务SRE在保障业务质量可靠性和合规的前提下,一方面通过平台服务好业务,提升用户体验和运维效率;另一方面是利用平时的积累总结,将公共能力沉淀到平台,反馈到平台,服务于所有的业务。
1 流程规范行为,指导运维工作有序开展
1.1 ITR(Issue To Resolution)
基于ServiceInsight平台构建从故障感知、决策到故障执行的端到端生命周期自动化管理能力,并不断完善每个阶段,围绕大数据AIOps异常检测、UEF舆情监控、健康管家、业务拨测、业务黄金指标构建问题发现能力,基于业务分层分级可观测性、根因诊断(调用链)、专家诊断工具、运维知识图谱提升问题定界能力,并通过应急预案、ChatOps编排、服务熔断、智能调度、应急三板斧等应急操作降低业务故障恢复时间。
1.1.1 感知、决策、执行
SRE基于ServiceInsight构建问题发现、诊断和恢复能力,不断推动平台优化改进和成熟,并实现公共组件、平台及中间件告警监控开箱即用,告警监控配置及问题定界效率提升50%。
通过监控及时发现问题,并在AI智能决策下确认下一步恢复操作,已经固化的恢复场景,如磁盘不足、CPU负载、话单推送失败等通过预先定义的ChatOps编排进行自动化恢复;针对需要人工介入处理才能恢复的复杂场景,逐步完善到标准的SOP中形成流程和要求,避免因恢复动作不标准而引入其它故障。
1.1.2 重视案例的负向改进
可靠性做的好并不能保证问题不会发生,线上的每一次问题都是对业务可靠性的考验和提升,它反复打磨着每一个环节。SRE结合问题,不断识别出业务的可靠性风险并推动优化,识别共性问题的可靠性要求和标准,补充到云服务可运维基线,并纳入到健康管家中巡检,持续治理直到满足可运维基线的最低要求(P0、P1级)。
通过对问题的深入分析和归类,也是梳理下一阶段可靠性提升工作的重要途径之一。
1.2 SD(Service Deploy)
1.2.1 变更自动化
通过IaC(基础设施及代码)以及灵活的编排能力,实现变更过程可信、执行自动化、效率连续3年持续提升30%(变更时长降低30%),目前终端云现网版本部署100%自动化。
根据存量资源,导出laC3.0代码;
1)根据CMDB的服务实例存量数据创建环境信息;
2)调用各服务的存量纳管接口,根据环境获取相关实例数据,纳管到环境资源信息表中;
3)根据环境纳管的资源信息可以导出laC3.0代码
一份laC3.0代码,多站点部署
1)各个环境依赖的资源策略由站点管理员按视划录入租户管理服务;
2)部署服务部署时,根据当前部署的服务和环境信息从租户管理服务获取资源策略;
同时支持研发和生产环境部署
支持灰度过程及结果评估
1)提供蓝绿和金丝雀两种部署策略, 其中蓝绿通过在升级过程中部署一套新版本,金丝雀部署通过滚动升级逐步切换;
2)通过laC3.0声明式集成SLB的灰度流量发放能力,支持SLB现有的基于地域,用户,URL等多种灰度流量分发策略;
3)集成对接Servicelnsight获取升级过程中的指标数据,通过指标度量升级健康状况,通过继续,未通过自动回滚;
1.2.2 变更管理
变更是导致现网问题的一个重要起因,加强对变更规范化要求(流程)、做好变更过程中监控(灰度监控)、以及异常时应急恢复(回滚),将有利于降低变更引入问题和影响。
变更流程规范,针对不同的变更类型从变更时间规划、变更评审、变更执行、变更验证、变更结束(异常回滚/正常结束)、问题复盘(可选)等维度梳理各角色责任人以及对应的职责范围,避免变更过程中出现职责不清晰的情况。
灰度变更和监控,业界对云侧的变更主要的方案包括金丝雀、蓝绿以及A/B测试,综合成本考虑,分别构建端、云灰度变更灰度方案及灰度监控。端侧基于应用市场实现按照机型的逐步放量策略,服务端基于金丝雀改造的灰度方案,并结合当前IaC3.0实现变更的自动化执行及灰度评估。
回滚,现网的任何变更都需要进行变更评审、变更后验证以及具备异常后的回滚方案,在变更后现网指标出现异常或者涉及的功能特性受到影响时,在评估影响范围后应优先执行回滚操作,保障功能、指标恢复到变更前的状态,再进行问题分析定位。
1.3 BCM(Business Continuity Management)
基于混沌工程构建WiseChaos平台,设计了故障模式库、智能评估能力,致力于从注入到恢复后评估端到端无人干预演练模式,从“按剧本演练”演进到“随机注入故障演练”。保证现网从“端管边云”各环节可靠性SLA99.99%,包括我们的全球骨干环网也即将实现双环双活。业务维度也从集群负载、AZ多活、智能调度、业务流控降级等方式,构建多重容错能力。
在控制爆炸半径的前提下,基于平台注入生产环境故障,提前发现系统中潜在风险,并验证监控告警的有效性,提升业务韧性。
● 平台已经支持XX+故障原子能力,覆盖到基础设施、容器以及业务。
● 基于云原生技术架构下,持续优化端到端自动化演练,构建全链路压测、强弱依赖演练以及演练评估关键能力,开箱即用。
以终为始,通过在现网不断的可靠性演练,识别出现网可能存在的风险并跟踪闭环,使得SRE和业务对现网的可靠性更加有信心。2022年在例行演练的基础上,针对共性问题以及业务新特性进行专项演练,共计完成XXX次演练,覆盖XXX台主机,识别改进XXX个问题,问题闭环率100%。
华为音乐先后推动完成多家SP放通方案落地和演练,自2020年开始,第三方SP故障对用户无明显感知。梳理第三方SP接入规划,支撑业务快速引入新的SP,保障服务上线后的稳定和运营目标达成。
通过上述几个流程规范了SRE在故障生命周期管理、服务部署以及混沌工程演练上的标准和要求,降低现网问题的MTTR,提升了业务的部署效率和可靠性能力。同时,SRE还需要通过平台以及运维数据治理推动重点工作的开展,如业务降成本、容量评估、OnCall建设、全链路压测、重大活动保障等。
1.4 降成本
服务全面上云容器化,利用华为云上的优势,实现业务、中间件云化,选择合适的付费方式,合适的资源规格,通过弹性扩容、在线离线混部等云原生相关技术,配合成本分析与监控,提升资源利用率,达到降低基础设施计算资源降成本的目标。
1.5 运维数据运营
数据都是有价值的,SRE作为运维平台和工具的“产品经理”,通过对业务的不断挖掘和深入,一方面会促使我们优化数据源的质量,另外一方面会基于已有的数据,利用大数据的优势,分析数据带来的价值,比如数据的合理有效性(影响成本)、数据的作用(用于核心指标周期性监控逐步出现恶化的问题、牵引公共能力建设目标完成等),通过对运维数据的治理促进数据质量、保障业务健康稳定运行。
2 展望
道阻且长,行则将至。质量、合规始终是SRE工作的底线,围绕着SRE工作方法论和职责,通过对业务理解的不断深入和治理,提升平台的能力,实现自动化运维、无人值守从L3往更高层级迈进,同时,依托华为云成熟的底座能力、运维平台以及SRE丰富的经验,提升产品体验和活跃,支撑业务产品运营目标完成。
CIO之家 www.ciozj.com 公众号:imciow