“5G”下 DevOps 技术构建移动行业智能 IT 运维平台
企业通过成熟的技术来实际执行与实现 IT 运维管理。IT 运维技术可以从自动化运维能力、平台化运维能力、数据化运维能力和智能化运维能力四个阶段循序渐进的落地实践。反之,实现智能化运维能力的前提是具备自动化、平台化、与数据化能力,企业应根据自身运维发展阶段和实际运维需求,分阶段实现相关技术能力。
#5G#
一、IT 运维业务面临挑战
随着移动“大链接”战略的深入落实、业务规模高速增长、内外部竞争日趋激烈复杂、IT 技术发展演进日新月异等,移动公司上下和内外客户对信息系统部的 IT 运维管理执行效率和运营精细化管理能力的提出了更高的要求和挑战:
为适应新业务层出不穷、瞬息万变的市场局面,移动提出“厉行节约、降本增效”活动,引入人工智能技术,构建低成本、高效率的运营体系,加快“以 IT 换人”战略的实现,以期在日益激烈的同质化竞争中赢得主动权。移动在 2019 年 IT 工作思路中提出了 “以 IT 主动赋能发展为主线,大力推动从 IT 支撑到 IT 运营转变”、“着力提升智慧运营能力、运维保障能力、创新发展能力”等要求,为 IT 运营能力的关键发展目标明确了方向。随着信息部系统云化、容器化、中心化、微服务等架构调整,带来了“系统架构和业务调用关系复杂,运维管理难度增加”的痛点因此运维体系也要实时跟进,不断调整自身发展规划,向“大运维、集操作、专业务、践敏捷、智运营、优体验“思路演进,为生产系统提供更优的运维支撑服务。
二、【痛点难点】
IT 运维痛点:运维系统存在重复建设;各个域间隔离运维,响应不及时;云化之后的 IT 运维的智能化程度不高,仍在演进之中。5G 时代对 ICT 融合运维挑战:5G 网元的控制面、传输解耦,传统 (2G/3G/4G) 运维平台,无法支撑 5G 网络资源的集中统一的配置管理和运维;5G 网络实现 SDN 提供的行业切片服务,现有运维平台,无法实现端到端的部署、运维和交付;5G 网络的多层编排、协作,目前没有可视化的运行管理、维护;对于垂直应用,无法从行业应用、业务以及网络的端到端客户体验、智能运维;5G 大量商用,缺乏 AI 手段,实现网络故障预警、服务切换以及故障恢复。
三、【实践路径】
智慧运维体系基于能力梳理和方向规划,提出了 1 个愿景、3 个核心、5 个阶段、3 块基石的“1+3+5+3” 智慧运维能力体系。
(1)1 个愿景:IT 运营创造价值是智慧运维体系建设的根本愿景。
(2)3 个核心:稳定准确、用户满意和风险防控是智慧运维体系建设的三大价值核心导向。
(3)5 个阶段:“初始阶段 - 标准化阶段 - 自动化 / 可视化阶段 - 初级智能阶段 - 高级智能阶段”是智慧运维体系建设中各项能力演进路线。
(4)3 块基石:岗位规划、文化培育和能力提升是智慧运维体系建设的三大基石。
技术运营中台技术架构
(1)数据采集层:面向应用监控层面的采集,通过对业务系统影响较弱的 UDP 协议传输,提供 JavaAgent,Java Profiler 等方式获取运维指标,也可以通过自定义 Agent 的方式构建和采集业务指标等。
(2)数据处理层:采用 ApacheFlink 作为数据处理引擎,Flink 流处理为先的方法可提供低延迟,高吞吐率,实时处理的能力, 对监控、智能分析等系统的多种应用场景完美支撑。同时 Flink 也支持批处理等方式用来常用的数据预处理、清洗、过滤等需求。
(3)数据存储层:各类数据按照需求和分工,分别存储在不同介质上,以达到最优的效率和最佳的搭配等效果。
(4)数据通道层:基于运维工作和运维数据的特点,选择分布式发布 - 订阅消息中间件 Kakfa 作为通用数据通道,利用其易扩展、支持大吞吐量的特性,使各个组件、微服务间的数据共享和分发都通过 Kafka 来完成。
(5)微服务层:后台功能微服务化、按照业务监控、运维自动操作、应用配置管理、智能分析、日志管理等来划分微服务范围和边界,并通过 API 网关对外开放能力。
(6)API 网关层:API 网关采用 springcloud 框架,API 网关负责对外提供统一的外部访问入口,对内提供对后端服务的协议聚合、路由分发、负载均衡、服务配置、总线消息等功能,从而实现微服务的服务隔离、线性扩展和有效监控。
(7)前端应用层: 前端选择轻量级、高性能、组件化的框架,适用于运维这种以数据驱动的 WEB 界面。
四、【实际效果】
在自动化、智能化的运维能力和运维场景的建设决策过程中,基于事件管理流程回顾,建立了矩阵式评估模型决策体系,同时在开发、上线、运行、优化环节对运维痛点关联指标进行跟踪式管理,形成闭环的效能评估体系。上述体系实现了有限资源的科学合理利用和运维能力、场景建设收益的最大化。“微服务 + 能力开放”化的 Paas 级平台,可快速构建对全局支撑能力。一站式自助化配置的场景建设,大幅解放人工成本。“百花齐放”的运维场景成果,成为运营降本增效的催化剂,实现对核心业务系统运维管理的 100% 覆盖。团队软实力筑基,组织文化发展与技术创新打通形成合力五、【实现 IT 智能运维能力】
1. 自动化运维能力
在日常 IT 运维工作中存在着大量重复的工作任务,这些任务有的复杂繁琐数量大,有的严重依赖执行次序,有的需要等待各种条件具备之后方可执行。尽管 IT 运维管理技术在不断进步,但实际上 IT 运维人员并未真正解放,目前许多企业的系统开启和关闭、系统更新升级、应急操作等绝大多数工作都是手工操作的。即便简单的系统变更或软件复制粘贴式的升级更新,往往都需要运维人员逐一登录每台设备进行手工变更。尤其是在云平台、大数据和海量设备的情况下,工作量之大可想而知。而这样的变更和检查操作在 IT 运维中往往每天都在发生,占用了大量的运维资源。通过自动化的作业工具,将运维人员从简单重复的工作中解放出来,减少误操作风险,带来了系统的稳定、安全与效率提升。 以下为应用场景列举:
(1)日常巡检自动化:日常巡检工作内容简单却占用了 IT 运维人员的大量时间。日常巡检自动化可以将硬件状态,设备负载,系统时间,磁盘空间,线路流量,数据库表空间使用率、网络设备的端口状态、流量等进行自动巡检,并形成符合用户要求的巡检报告。
(2)配置管理自动化:自动从生产环境中提取配置库信息,自动更新到配置库中,保持配置库和生产环境的一致性。要实现对配置库的自动更新和同步,需要对应用系统进行标准化改造,比如规范化的安装路径、统一版本等,这将有助于工具能提取到应用程序配置项的基本信息,最终实现配置项和属性的自动更新。
(3)应用部署自动化:使用自动化平台图形化流程编辑器创建组件流程。根据平台提供的插件,实现和流行工具的集成,不需要任何编程就能快速定义部署逻辑。可以使用相同的流程,将相同的应用程序部署到多个环境。这进一步帮助节约时间并提高效率,并对应用程序和部署流程进行尽早验证。自动化平台的分布式代理模型可以在数千台机器上同时运行部署流程。
(4)容灾切换操作自动化:以容灾作业流程的方式实现容灾切换流程批量自动执行。通过双活数据中心为业务系统建立双活模式,实现自动化切换,尽可能减少宕机时间。
2. 平台化运维能力
运维的工作相当繁琐,包括网络、服务器、操作系统、数据库、发布、变更、监控、故障处理、运营环境信息维护等等。同时,面对日益复杂、庞大的企业 IT 架构,IT 运维需要在不同架构、不同平台之间实现对 IT 资源的优化配置和高效管理,实现整个系统的稳定运行,并在满足相应企业业务场景需求时,应对用户量及数据量的迅速膨胀。
因此,运维平台化的目标是依据业务形态不同,对企业 IT 架构进行针对性的管控、融合化的管理,借助大数据、PaaS 化的平台能力对运维技术和业务能力进行底层封装,将重量级的运维技术工具系统轻量化为运维 APP 场景应用,进行运维工具的逐步集成。 以下为应用场景列举:
(1)日志采集平台:收集各应用产生的本地日志数据,进行汇总。一方面,方便查看,定位问题,另一方面,通过平台可以挖掘数据潜在价值,并为重要指标的趋势分析提供依据,有效规避风险故障和指导决策。
(2)应用性能监控平台:包含多级应用性能监控、应用性能故障快速定位以及应用性能全面优化三大模块。它可以借助事务处理过程监控、模拟等手段实现点到点应用监测,对应用系统各个组件进行监测,迅速定位系统故障,并进行修复或提出修复建议,精确分析各组件占用系统资源的情况,及时了解库存、产品生产进度,使效益最大化。
(3)统一资源配置管理平台:能够集中管理应用不同环境和不同集群的配置,并对配置修改进行实时推送,通过资源与配置的统一管理,确保底层数据配置项准确无误。
(4)应用部署平台:能够进行容器、物理机部署,支持在线、离线服务、定时任务以及静态文件的部署,提供部署资源管理、运行环境搭建、部署流程定义和部署执行跟踪,可以进行金丝雀发布及蓝绿部署。应用部署平台可以加快业务迭代速度、规避故障发生,提升产品发布节奏。
3. 数据化运维能力
由于用户量、业务量的增长,数据量也随之处于井喷式发展的阶段。IT 运维的数据化能力因此成为企业能力发展的重要方向。IT 运维的数据化是借助数据采集、数据存储、数据处理、可视化等全量的数据体系来评价运维过程,以确认 IT 运维目标的达成情况与程度。运维的日常场景很多,看似复杂,终究离不开对稳定、安全、高效三项基本价值的更高追求。通过运维数据化能力,IT 运维能为企业决策提供有力支撑,实现稳定、安全、效率的提升,和对成本的合理把控。 以下为应用场景列举:
(1)知识图谱:使用统一的语言来定义运维数据,将运维对象通过实体与实体间的关系来表达,整合运维领域内的实体关系形成知识图谱。运维领域的关系包括但不限于产品、服务、集群、服务器、网络、IDC 等。
(2)数据仓库:是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。数据仓库为用户提供了用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。数据仓库技术是为了有效地把操作型数据集成到统一的环境中,以提供决策性数据访问的各种技术和模块的总称。目的是使用户更快、更方便地查询所需要的信息,提供决策支持。
(3)数据中台:建立面向运维域的数据中台,统一纳管如资源数据、告警数据、性能数据、业务数据、日志数据、工单数据、指标数据、拨测数据等,面向上层运维分析场景提供统一的数据访问路由、数据服务目录、数据接入管理、数据可视化等功能,以期打破“数据孤岛”,通过整合关联和对外开放来深度挖掘运营数据的价值。识别前台数据需求,整合后台数据,对数据进行加工和输出,建立数据中心级的数据服务共享平台。通过对数据的梳理,数据源的规划,数据流程的整合,对存量数据进行加工整合,达到以数据服务化的方式来实现数据监控,资源使用率分析。
(4)数据可视化:通过对数据的可视化呈现,帮助运维人员直观、便捷、快速的进行问题分析,还可提供一系列的工具组件让运维人员根据自己的业务情况对海量数据进行快速进行视图编辑、多层下钻分析、多维度关联分析、报表编排,横向纵向大盘数据对比等,将传统的运维经验进行数字化转变,大大提升了问题排查、风险发现和知识沉淀。
4. 智能化运维能力
由于 IT 运维所支撑的业务规模不断增长,越来越多的运维场景和问题无法用传统运维方式解决。同时,IT 运维的效率也逐渐难以满足系统需求。因此,如何解放运维本身效率、解决传统运维方式无法解决的问题成为企业发展、转型的重大挑战。运维的智能化能力是指将人的知识和运维经验与大数据、机器学习技术相结合,开发成一系列智能策略,从而融入到运维系统中,通过智能运维平台完成运维工作。
目前运维的智能化应用场景主要为:
(1)故障预测:主动容错技术,能够基于对系统历史状态以及当前行为的分析,生成告警预测的结果模型,判断系统是否即将产生故障,协助系统规避故障或尽早采取故障恢复措施。同时,告警信息经过智能关联分析模块的训练,能够发现告警之间的关联关系以及故障的发生概率,对告警进行预测。故障预测可以使运维人员在日常工作中变被动响应为主动,提升系统的整体运行质量。
(2)故障自愈:故障自愈流程包括感知、止损决策、止损三个阶段。其中感知阶段依赖监控系统的故障发现能力,止损阶段依赖流量调度系统的调度能力。故障自愈可提升企业的服务可用性和降低故障处理的人力投入,实现故障从人工处理到无人值守的变革。
(3)自动扩缩容:可以根据应用的负载情况自动调整集群容量以满足需求。当集群中出现由于资源不足而无法调度的 Pod 时自动触发扩容,从而减少人力成本。当满足节点空闲等缩容条件是自动触发缩容,节约资源成本。
(4)智能问答知识库:是知识库的最新形态,具有知识挖掘、知识管理、知识关联、知识推理与建模、智能检索、自主学习和训练等功能。智能知识库改变了故障处理模式,既提高了故障上报的准确性,又简化了信息交互的中间环节,有效降低故障处理时间,提升工作效率。
(5)智能发布变更:能够管理海量规模的发布变更过程,具备自动化部署、分级发布和智能变更策略等功能。用户通过 UI/API 配置整个变更过程的执行策略,由专门的执行系统解析策略并自动执行批量及其的变更。分级发布将变更过程以实力组为单位划分成多个阶段,每个阶段引入自动化的检查用例,只有检查通过才能执行下个阶段的变更,有效增强对变更过程的管控,降低异常影响,加快异常恢复速度。除此之外,通过引入智能模板生成、智能变更检查等智能策略,降低使用门槛,提升复用性,降低人为操作的失误率。
六、【未来洞察】
未来面向 5G 的 IT 解决方案(1)端到端业务体验:主要涉及到客户体验、应用体验、网络体验、接入设备体验的工具和平台。
(2)智能运维:面向 B 域、O 域,提供微服务治理、编排治理,切片治理、智能预警、智能优化、故障自愈,持续集成、持续部署和持续测试;
全域的技术运营中台管理能力(1)运维分层:三横一纵,B 域运维、O 域运维、边缘计算运维以及端到端运维。
(2)能力分层:业务运维、技术运维以及管理运维。