您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[极客传媒]:软件工程数智化研究报告——可观测应用篇2023 - 发现报告
当前位置:首页/其他报告/报告详情/

软件工程数智化研究报告——可观测应用篇2023

2023-05-26-极客传媒李***
软件工程数智化研究报告——可观测应用篇2023

1 2 研究背景 近年来,随着云原生技术的兴起,以及敏捷开发和DevOps理念的普及,企业正在经历着一场基础设施和开发方式的变革。云原生技术的出现使得应用程序可以更加高效地运行于云环境中,从而帮助企业更好地应对业务需求的快速变化。而敏捷开发和DevOps理念的提出则使得软件开发变得更加迅速和高效,从而更好地满足客户的需求。 伴随着业务的转型,客户体验也成为了企业关注的焦点。为了提供更好的客户体验,企业需要确保其系统的稳定性和可靠性。在这样的背景下,对于传统监控系统的需求和期望也发生了变化。人们开始关注如何构建具有可观测性的系统,以更加主动地保障系统的稳定性。 2018年,云原生计算基金会(CNCF)正式在其技术景观图(Landscape)中创建了「Observability」分组,将可观测性作为一个独立的技术领域。而在2023年,应用可观测性被Gartner列入「2023年十大战略技术趋势」之一,可观测性在IT领域逐渐引起广泛关注。 然而,目前市场对于可观测性在中国的发展阶段、相关市场参与者与产品都还没有达成一致的认知。因此,InfoQ研究中心联合中国信通院铸基计划,希望通过《软件工程数智化研究报告—可观测应用篇2023》的撰写,解读以上问题。本报告将对当前市场上的各类参与者和可观测性解决方案进行分析,以期为企业和开发者们提供关于可观测性的最新研究成果和实践经验。 ——InfoQ研究中心 随着云计算、微服务、容器化等技术的广泛应用,企业所面临的IT运维环境越来越复杂,需要运维的系统不仅数量多,而且网络架构复杂、基础设施多样。在信息化建设日益普及的当下,快速提升企业IT资产管理能力开始成为企业迫切解决的问题。因此,可观测性技术得到了极大关注,并被Gartner列为2023年十大战略技术趋势之一。 需求端来看,目前国内企业对于可观测性的认知还不够深入,很多企业还停留在传统的监控阶段,没有形成对于可观测性的全面需求。 在供给端方面,国内外都有很多优秀的可观测性技术和工具供企业选择使用。其中有一些是开源项目或者标准协议,如Prometheus、OpenTelemetry等;有一些是商业产品或者服务平台,如Datadog、NewRelic等。这些技术和工具都在不断地创新和进化,以适应不同场景下的可观测性需求。 目前全球可观测性技术演进主要聚焦在以下几个方面:OpenTelemetry逐渐成为事实标准、eBPF技术引领零侵入式可观测、SLO告警成为新一代监控模式、AI/ML技术赋能智能化可观测、运维支撑平台和数字资产。 在中国,由于国内企业对于可观测性技术的认知和需求还不够成熟,因此国内供给端的技术和工具还有很大的发展空间。 ——中国信通院铸基计划 3 软件工程是三大科学体系的交融,用于指导软件开发全生命周期 很多学者和机构都提出过软件工程的定义,在本报告中我们将BarryBoehm、IEEE、FritzBauer等专家学者和机构的定义进行了整合和总结,并由此得出软件工程的定义:软件工程是使用管理科学手段,运用现代科学技术知识,指导计算机软件开发、测试、运行维护到终止全过程的一门工程学科。 采用工程科学的概念、方式与原则 制定规范、改善过程 构建模型和算法 制定计划、进行资源、成本的管理 运用现代科学(计算机科学、数学、逻辑学等) 管理科学(质量、成本、计划管理等) 过程需求设计开发测试部署发布运维终止 软件工程的定义 可观测性贯穿软件工程数智化全过程,并提供系统稳定性保障 软件工程数智化包括数字化和智能化两个层面,其中数字化通过数据收集和分析,帮助软件工程更高效地完成软件的开发和维护工作;智能化是利用人工智能、机器学习、自然语言处理等技术,通过对数据与历史经验的结合,实现软件工程过程中的辅助和自动化决策。 可观测性则贯穿始终,助力软件工程更全面和深入地了解整个过程,保障整个软件系统的可靠性、稳定性和可维护性。 计划智能生成 软件工程数智化分为基础、保障和应用性三层,可观测性贯穿始终 数据化设计 代码智能推荐与生成 自动化测试 自动化部署 自动化故障分析 终止智能评估 应用 需求调整智能变更 需求智能分析 自动化设计智能计划评估 代码自动检查低/无代码 代码风格改善缺陷智能修复 CI/CD工作流版本发布 自动化运维智能运维 智能风险评估计划智能生成 保障 基础 需求 过程设计 可观测性 安全防护 代码资产挖掘和模型管理数据收集与分析 开发测试部署发布运维终止 5 6 1 研究方法说明 桌面研究 通过对行业公开信息进行桌面研究,资料包括但不限于专业机构研究报告、相关厂商产品介绍与成功案例、相关专家公开演讲内容等 专家访谈 2 InfoQ研究中心针对本次研究定向邀请了覆盖不同种类厂商、开源项目的专家接受访谈 InfoQ分析 3 结合桌面研究和专家访谈进行观点沉淀和交流,并经由报告形式对外展示 01中国可观测应用发展背景 02中国可观测应用发展特征 03中国可观测应用厂商案例解读 04中国可观测应用发展趋势研判 7 8 中国可观测应用发展背景 可观测性世界关注度迅速上升,背后是技术、文化和业务的转变 2018至今,可观测性在全世界的关注度都在稳步上升。经InfoQ研究中心分析,这背后包含着技术、文化和业务三方面的原因。 100 90 80 70 60 50 40 30 20 10 0 2018-2023年可观测性搜索热度 技术背景——技术变化 •容器、微服务、服务网格等迅速提升了系统的复杂性,对监控运维体系提出新挑战 •观测对象演变与种类增多,对于观测能力的 要求提升 文化背景——理念变化 •敏捷开发、DevOps等理念,需要可观测性保障系统稳定性 业务背景——业务变化 9 搜索热度增长5倍 2018/5/202019/5/202020/5/202021/5/202022/5/20 可观测性搜索热度 数据来源:GoogleTrends,时间维度2018/05/20-2023/05/07 •客户体验直接影响业务表现,进一步提高对系统表现的要求 传统监控运维体系两大难题 •定位难:一旦系统出现问题,更难定位; •解决难:问题更隐蔽,解决过程更复杂。 技术:系统复杂性提升,传统监控运维体系存在定位和解决难题 伴随着软件架构的变化,系统复杂性提升带来更加黑盒的基础设施与更复杂的服务调用和依赖关系 01基础设施层更加黑盒 容器化微服务架构 微服务架构 02服务调用和依赖关系更加复杂 简单单体架构垂直分层架构 SOA架构 随着应用和服务数量的增加,应用之间的拓扑调用和依赖关系变得越来越复杂,链路也变得越来越长。这种趋势使得开发和运维人员难以全面把握系统的整体状况,阻碍了对系统的整体感知。 容器、微服务、服务网格等技术的广泛应用,以及Serverless架构的出现,使得开发团队能够更加专注于业务逻辑,而无需过多关注基础设施的细节。然而,这种趋势也导致了开发团队对于基础设施的了解程度降低,基础设施变得更加难以理解和掌控。 系统复杂性 系统规模 技术:观测对象演变与种类增多,对于观测能力的要求提升 伴随着软件架构的变化,观测对象经历了“物理机-服务器集群-虚拟机-容器”的变化过程。同时进入移动互联网和物联网时代后,手机端、智能穿戴设备、智能终端等多样的设备端也推动了观测对象种类的增多。这一系列变化代表着我们对于软件和系统的观测范围正在急速扩大,对观测能力的要求也在不断提高。 需要观测的对象类型演变需要观测的对象种类增多 物理机 服务器集群 中间件 宿主机1 宿主机1 多端应用 数据库 容器A 应用程序 链接库 容器B 应用程序 链接库 虚拟机A 应用程序 链接库操作系统 虚拟机B 应用程序 链接库操作系统 虚拟机引擎 宿主机的操作系统 容器 虚拟机管理程序宿主机的操作系统虚拟机 多样的设备端 11 文化:敏捷开发、DevOps等理念,需要可观测性保障系统稳定性 迭代周期迅速缩短 近些年,敏捷开发、DevOps、BizDevOps、DevSecOps等理念的涌现和转变,叠加持续集成、持续部署等工作流和工具的组合,一起缩短了迭代周期。在这种情况下,通过梳理各类依赖关系和代码追踪,提高开发者对系统掌握度的可观测性,已经成为保障系统稳定性的重要因素。 迭代前 迭代中 迭代后 在敏捷开发、DevOps等一系列技术理念的广泛应用下,软件迭代周期不断地缩短。这种趋势一方面提高了需求的灵活性,但另一方面也对系统的稳定性提出了新的挑战。 12 •强弱依赖动态梳理 •应急预案与机制 •…… •告警响应 •代码可追踪 •…… •定期复盘 •经验沉淀 •…… 业务:客户体验直接影响业务表现,进一步提高系统稳定性要求 现代商业中,客户体验对业务表现的重要性已经被大多数人认可。但关联到系统中,加载卡顿或者显示错误的高频次发生,对业务表现的影响隐蔽但深远,因此也需要进一步保障系统的稳定性。 频繁的故障对业务影响隐蔽但深远 故障频次高 恢复时间未知 对业务影响隐蔽但深远 •在故障影响客户前提前监测,以维持良好的客户体验,从而最终提升业务表现 客户体验到业务表现的传播链路 13 业务系统客户感知前端团队客户流失业务表现 稳定运行,系统无报错 网页/小程序/APP加载故障或者缓慢,或者因为兼容性使用感受不佳 充满疑问,无法复现和定位问题 客户中断此次使用行为或使用其他同类型产品代替 累积下来,小波动影响的客户最终流失并影响业务表现 技术发展阶段:与其他技术相比,可观测仍处于早期推广技术 在《中国软件技术发展洞察和趋势预测研究报告2023》发布的中国技术成熟度评估曲线中,可观测位于早期推广技术阶段。 14 产品发展阶段:可观测在中国已经进入产品竞争期 同时在产品层面,可观测在中国已经度过了概念导入期,进入了产品竞争期。目前已经有一定数量的厂商提供相应的产品以及产品配套。InfoQ研究中心预期在未来1-3年内,可观测应用相关的成功案例会继续累积,进入更多行业。 中国可观测产品发展阶段 2017 •PeterBourgon在博客《Metrics,tracing,andlogging》 •Honeycomb创始人CharityMajors提出可观测性是用来解释“未知-未知”问题的 2018 •CNCF正式在Landscape中创建了「ObservabilityandAnalysis」分组 •SkyWalkingV6.0.0-alpha提出并开始落地OAP (ObservabilityAnalysisPlatform) 2019 •OpenTracing和OpenCensus宣布合并,并提出了一个更全面的可观测性解决方案—OpenTelemetry 2021 •阿里ARMS3.0云原生可观测平台发布 •观测云系统可观测平台发布 •观察易可观测性解决方案发布 •持续观测解决方案HyperInsight发布 •云杉网络容器化微服务可观测性方案发布 2022 •DeepFlow开源可观测性平台社区版发布 •博睿数据智能可观测平台ONE发布 2023 •应用可观测性被Gartner列入「2023年十大战略技术趋势」 •腾讯云云监控CM更新为可观测平台TCOP •爱数AnyShare可观测解决方案发布 成功案例 •成功案例逐渐累积,行业应用涉及多个行业 盈利模式 •伴随着现有可观测性解决方案的商业探索,产品的盈利模式更加明晰,收费模式更加透明。 行业标准 •在众多现有厂商的助力下,关于如何实现最佳的观测效果,和行业如何规范发展的讨论将抽象为具体的行业标准。 15 概念导入与市场教育期 2020 产品竞争期 2023 2025 16 中国可观测应用发展特征 需求端:业务和成本相关目的驱动企业考虑构建可观测性 从需求端来看,企业构建可观测性的目的开始向业务和成本转变,同