揭秘 10 亿 + 高并发应用如何实现高效稳定的开发和运维
![揭秘10亿+高并发应用如何实现高效稳定的开发和运维](https://static001.geekbang.org/infoq/39/3999c6ae988189fcaf7dce774a8ca54f.jpeg)
本文分享自华为云社区《DTSE Tech Talk | 第60期:构筑云原生时代的应用稳定性》,作者: 华为云社区精选。
本期直播主题是《构筑云原生时代的应用稳定性》,华为云 aPaaS DTSE 技术布道师韫欣,与开发者们交流了云原生时代的应用挑战、趋势,跟大家分享了华为云应用平台 AppStage 的实践经验和优秀案例,并展望了智能运维的未来。
云原生时代的应用挑战和趋势
在飞速发展的数字时代,云原生已经成为了许多企业的首选,它不仅提供了灵活性和可扩展性,还为应用程序的稳定性带来了全新的技术革命。企业应用上云经历了三个阶段:
• 第一阶段,应用以“设备”为中心,工程师们看到的是一台台物理服务器,软件是部署在服务器上的进程,硬件和软件相对割裂。
• 第二阶段,以资源为中心,形成了云化的资源池,大幅提升了资源的利用率和使用效率。
• 第三阶段,是从以“资源“为中心走向以“应用” 为中心的云原生阶段,与第二阶段相比,主要区别在于应用的设计和部署方式。云原生应用是指使用微服务架构对应用进行解耦拆分,并以容器形式部署,更加灵活和可扩展,能够更好地发挥公有云的优势,以应对业务的不确定性,带来更高的开发、运维和运营效率。
在这个转变过程中,也会面临一系列的挑战。
• 第一个挑战是云原生时代的技术复杂度比较高,工具非常的碎片化,比如服务的编排与调度、容器化、安全合规等各方面的工具。云原生应用设计、开发、运维过程中,对开发和运维人员的技能要求高,无形中增加了企业的开发成本,降低了开发效率。
• 第二个挑战是大量工作消耗在工程能力构建上,开发人员真正的业务代码开发工作只占 20%左右,隐形成本非常高。首先,每个应用构建都要考虑可靠性、可用性、安全、韧性、多云部署等一系列能力,存在重复造轮子的问题,造成了大量工作浪费。其次,国家、行业、企业对安全可信、技术规范等有诸多要求,缺乏统一的平台来支撑落地,每个开发人员对规范的解读不同,实现方式也会有差异,大幅降低了效率。以华为的经验,如果这些问题得以解决,30%以上的隐形工作是可以被节省的。
• 第三个挑战是云原生时代,维护一个复杂且快速变化的系统,会面临一系列的问题,比如碎片化的运维工具、版本的迅速迭代、人工效率低且不够规范等,随着业务链路越发复杂,问题跟踪和定位会越来越困难,业务数据量的增长也会导致数据库治理的问题变得尤为突出。
这一系列的运维问题需要未雨绸缪、提前规划,迫切需要云原生的运维尽快完成数智化转型。
华为云应用平台 AppStage 实践经验
针对以上挑战,华为对内部云原生应用经验总结提炼后,打造了华为云应用平台 AppStage 产品,为客户提供了一站式智能运维平台,不仅避免了不同厂商和三方的众多运维工具拼凑的问题,并且围绕无人值守变更、故障全生命周期管理、业务稳定性治理等三大站点可靠性工程 (SRE)的工作内容,来构建自动化和智能化能力,在提高运维效率的同时,也提升了服务质量、优化了应用可靠性。
自动化无人值守变更:帮助企业提升运维效率,减少人为错误
1. 核心理念就是基础设施即代码,将资源、配置、环境、状态等进行声明化定义,避免传统变更理解的差异,可确保任何环境、任何地点执行结果的一致性。在变更自动化的评审、执行和验证过程中,实现全流程的自动化。
2. 通过一系列的变更灰度评估以及中断回滚等保险措施,确保变更过程和结果的安全可信。
3. 部署和变更的过程完全不需要人工干预,减少了人员误操作的可能,保障了变更质量。
通过这些优化,10 分钟就能完成一个服务的全新部署,省去了大量的人工时间。华为内部统计,在变更工作中,故障率减少了 40%,部署效率提升了 30%。
![](https://static001.geekbang.org/infoq/6f/6f2553c965c1e2460f6974abb63b60ed.png)
监控与故障管理:全栈可观测性和故障全生命周期管理,降低了业务从故障发生到恢复的时间,提升云原生应用整体服务质量
1. 通过对端、管、云全链路可观测能力,打通数据孤岛,将这些数据有机关联起来。
2. 通过智能化的运维底座,将资源、配置、事件、可观测数据建模管理,配合 AIOps 智能算法,驱动根因诊断和异常检测等运维的高阶智能化应用。
3. 通过定期业务巡检、监控告警、故障演练等活动,做到故障全生命周期管理,实现 1 分钟 AI 异常检测和故障发现,5 分钟故障根因诊断定界定位,并基于预编排的故障恢复模板和微服务治理体系,实现核心业务场景 10 分钟故障快速恢复。
![](https://static001.geekbang.org/infoq/68/68d7893448ab2dc481b51ccac1bb3f27.png)
可用性与连续性管理:通过混沌工程演练,实现确定性恢复,助力可用性达到 99.99%
1. 按 IaaS-PaaS-SaaS 分解可靠性要求,形成应用稳定性指标体系,对应用可用性进行度量与治理。
2. 构建混沌工程演练平台,提供了 50 多种故障演练场景,80 多种故障注入的方法,来充分验证业务和应用可靠性。
3. 通过故障演练发现问题,主动提升生产环境的稳定性,做到问题的提前预防和发现。
![](https://static001.geekbang.org/infoq/88/8899dddb07f3dabc455cb69c2cb23c34.png)
数据库治理:WiseDBA 提供可信数据库治理方案,快速诊断数据库疑难问题
1. 支持 RDS、GaussDB for MySQL、GaussDB for Cassandra 等多个数据库引擎的管理。
2. 可对纳管数据库进行 IT 化巡检和管理,针对数据库慢查询进行分级治理,建立风险评估体系。
3. 支持 DBDesigner、SQL 审核等正向设计,从开发阶段减少风险问题。
4. 提供数据查询、数据隐私白名单管理等能力。
FinOps:成本治理确保应用稳定的前提下,帮助企业降本增效
随着业务的快速发展,企业在华为云上的各类资源消耗也相应增长,需要对各类资源的使用情况进行有效管理,管控成本。
1. 应用平台 AppStage 资源管理系统可构建资源台账,提供成本可视化能力,清晰展示预算、资源用量和基于预测的趋势分析。
2. 识别成本浪费和异常增长的资源类型,并进行异常实时提醒。
3. 对资源进行智能检测,为业务定期生成资源使用报告,推荐资源优化方案,同时给出成本收益分析,支撑成本优化目标,提升资源利用率。
华为云应用平台 AppStage 案例分享
• 案例一:守护终端云全球数亿用户的全场景智慧生活体验
应用平台 AppStage 支撑了华为终端云服务 11 亿+华为用户和 50+应用的托管和运维,助力全球业务可用性连续多年达到 99.99%,持续保持优质、安全的用户体验,助力华为终端云服务活跃用户长期保持稳健增长。
• 案例二:XX 公司基于应用平台重构软件生产能力,成为工业软件研发领域的领头羊
XX 公司通过应用平台 AppStage 实现运维的统一入口、统一工具、统一数据,形成高效智能的运维体系,全面提升了软件工程协作效率,降低开发人员门槛,助力版本发布效率提升 30%,问题定位时长降低 45%,运维协作效率提升 15%,维护总成本降低 10%。
未来展望
运维大模型开启未来运维新时代
运维大模型:利用大语言模型的自然语言理解能力、推理规划能力和任务执行能力,从五个方面对一站式智能运维赋能
• 构建运维助手:帮助工程师解答日常运维工作各种问题,提升效率
• 助力巡检监控:自动执行巡检任务,实时监控指标,及时发现异常
• 帮助问题管理:自动探索分析日志,给出根因诊断,匹配应急方案
• 提供变更方案:分析变更要求,分解任务,编写脚本,协助测试执行
• 开发运维报表:自动分析运维数据,生成运维报表,支持自然语言互动调整
知识图谱与数字机器人融合,推动运维智能化持续发展
运维知识图谱:通过将业务数据分析提炼、抽取融合,加工成运维知识图谱,并沉淀算法能力,以支撑异常检测和根因诊断等高阶运维活动。
智能运维数字机器人:利用智能运维数字机器人(RPA)准确匹配恢复方案,并通过调用工具(API)做故障自愈和应急。
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/aff703ba0ff9adb523ee0055c】。文章转载请联系作者。
评论