中国移动陈国:云原生技术赋能数智化转型升级
Posted 中国移动设计技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中国移动陈国:云原生技术赋能数智化转型升级相关的知识,希望对你有一定的参考价值。
在国家大力推进千行百业数字化转型的背景下,本文基于数字化经济的时代特征,分析了符合中国移动数字化发展的IT需求。贴合这些需求,重点介绍了云原生的定义和关键技术,结合自研磐基PaaS平台和磐舟一体化交付平台,分享了中国移动云原生实践。
国家“十四五”规划明确指出:加快建设数字经济、数字社会、数字政府,以数智化转型整体驱动生产方式、生活方式和治理方式变革,实施“上云用数赋智”行动。数智化转型是提升产业生产力和生产效率,提高竞争力和实现产业现代化的根本性改革举措。从单个组织的角度看,数智化转型是组织利用诸如云计算、大数据和人工智能等数智化技术,改造原有的业务流程和服务方式,通过对产品、服务和商业模式的创新,实现生产效率、服务质量或市场竞争力等方面质的提升。
中国移动制定了创世界一流“力量大厦”发展战略,明确了“推进数智化转型,实现高质量发展”的主线,聚焦“四个三”战略内核,推动公司转型升级、改革创新。同时在全力构建具有运营商特色、中国移动特点的智慧中台能力即服务,作为数智化转型升级的关键基础设施,积淀能力、支撑发展、注智赋能。
磐基PaaS平台作为智慧中台的通用技术底座,正在牵引应用从传统IT架构迁移至云原生架构体系。在此过程中,将通用技术能力逐步的抽象标准沉淀,形成可共享服用的技术能力;将上层应用微服化解耦,沉淀出可共享的业务服务能力和数据服务能力。通过在磐基平台上基于云原生的重构,大力提升IT系统对企业业务需求的快速响应和敏捷交付能力,灵活支撑新型业务或功能的快速创新、快速试错与高频迭代,持续加强企业在复杂多变和不确定性环境下的核心竞争力,进一步巩固数智化转型支撑能力。
云原生技术以弹性可扩展、高可用、高灵活、强兼容和低成本的方式将云的价值最大化,让使用方充分享受到云计算技术的红利,具备敏捷、海量和简单的特点,满足经济社会数智化转型“线上化”、“智能化”和“云化”的新要求。
(1)敏捷:市场的快速发展和同质化竞争加剧,对新功能的上线要求越来越高,需要化解高速的业务发展和系统稳定之间的矛盾。
(2)海量:支撑更多的互联网新业务和互联网新玩法,构建支撑海量、高并发和高性能的业务系统架构能力,支撑线上转型。
(3)简单:通过自动化、智能化手段,进一步提高运维效率,解放劳动力,提升IT运维人员的幸福感。
云原生是一套指导应用进行软件架构设计的思想。基于这样的思想而设计的应用:天然就“生在云上,长在云上”。使得我们开发的软件和“云”能够天然地集成在一起,发挥出“云”的最大价值。云原生PaaS平台向上可支撑应用开发和集成,向下可提升资源利用效率的关键服务层,有效实现从“基础设施上云”迈入“应用和系统上云”。
云原生技术全面支撑构建和运行可弹性扩展的应用,代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统做出频繁和可预测的重大变更。
云原生关键技术包括容器、微服务和DevOps,其关系如图1所示。
图1 云原生关键技术及其关系
容器技术发展从2013年Docker 项目发布开始,经过多年的发展,从早期的Docker、rkt、CRI-O等,到Containerd、Kata Container、gVisor,到目前Kubernetes以及Docker都成为了云服务的既定标准,基于云原生的软件研发思想逐步成熟推广。
容器本质上是一种软件交付方式。容器技术是英文单词Linux Container 的直译。Container有集装箱、容器的含义。海边码头里的集装箱是一种运载货物标准化的箱子,各种各样的货物放在集装箱中,可以方便的装载在货轮上运到世界各地。基于容器技术,开发人员把应用及其运行环境打包到一个可移植的容器(集装箱)中,即容器镜像,然后发布到服务器操作系统上,快速提供服务。交付过程如同海上运输,操作系统如同一个货轮。同样一个容器镜像,无论从哪里打开都是一样的,理论上也可以漂移到云上的任何一个位置。对于应用,不需要关心容器在哪里运行,且应用本身也可以更好地扩容,轻而易举的从1个实例变成100个实例,甚至1万个实例。Kubernetes则是一个容器编排平台,也被称为云原生时代的操作系统,实现大规模数据中心环境工作负载和微服务的自动化管理。
原有整体式的应用早已逐渐成为过去时,随着云原生升级,IT系统由数十乃至数百个松散结合的容器式组件(通常称为微服务)构成,这些组件通过相互间的协同合作,使既定的应用按照设计运作。Kubernetes通过对多个容器按顺序在网络级别进行组织,使其能够按照计划运行,实现对于容器的编排。
Kubernetes对大量常用的基础资源进行了抽象和封装,灵活地组合和使用这些资源来解决问题。同时它提供了一系列自动化运维的机制,如图2所示,这些功能都可以用YAML进行声明式部署,并为应用提供了以下特性。
(1)快速部署应用:作为微服务的最佳载体,快速实现应用部署、维护和滚动升级。
(2)快速扩展应用:K8S中自带了横向自动伸缩(HPA) 和纵向自动伸缩(VPA),满足应用对资源的快速扩展需求。
(3)提升资源利用率:对集群硬件资源进行管理;根据服务器的CPU与内存资源的可用量,对服务进行部署调度。
(4)服务容灾恢复:监控服务(进程)状态,当某个服务不可用时,能够快速自动恢复。
图2 Kubernetes技术特性
2.2 微服务技术
微服务是一种应用软件架构设计模式。这种服务区别于系统,是一个或者一组相对独立的功能单元。微服务使用系列小服务来开发应用,每个服务运营在自己的进程中,能够通过自动化机制独立部署,相互间使用标准的轻量机制通信。
中国移动IT系统经过近20年的快速发展,应用架构在持续升级,这源于业务发展,是需求快速变化和运维自动化能力不断提升的必然产物。回顾电信IT系统的发展,经历了最早CS架构、BS单体架构、SOA架构过渡期和微服务架构等几个关键阶段。
2.2.1 单体架构
以IT业务支撑系统举例,从“97 工程”开始,随着J2EE和B/S架构的广泛应用,在此时期形成了大量单体应用,如电子渠道系统、计费系统和管理信息系统。
这些单体应用一般采用分层、分包的方式来实现代码的解耦和管理。一般分为MVC3层架构,也可以分成表现层、业务层和持久层,整个应用其实是在一个Web项目中,是一个工程,运行在一个JAVA虚拟机中。
单体模式虽然部署简单,系统交付界面清晰,但存在一些难以克服的问题。
2.2.2 SOA架构
伴随着业务的生态化发展,基础设施云化的大力推进2015年,基于第3代业务支撑系统建设规范,CRM系统3层架构重新划分成为5层,部分省核心系统尝试进行分布式、服务化改造和实践。
基于SOA思想,以服务为核心搭建企业IT架构,通过企业服务总线(ESB)来连接各个服务节点。为了集成不同系统和不同协议的服务,ESB做了消息的转化解释和路由工作,让不同的服务互联互通。但由于ESB存在性能瓶颈,可扩展能力较弱,于是重构了能力开放平台,实现核心系统和外围系统的互联互通。
2.2.3 微服务架构
容器编排技术的成熟以及中台战略的推进,大大加快了微服务技术的推广运用,为业务线上化和规模化运营带来可能。
微服务是SOA架构中ESB“去中心化”的优化,把原有的服务拆解为“小而专注”和“独立自治”的微服务。这些微服务是可以基于合适的技术栈开发、可被独立部署的组件。它们运行于独立的进程中,服务之间边界清晰,并采用轻量级通信机制( 如HTTP/REST) 相互沟通、配合来实现完整的应用,满足业务和用户的需求。
图3 微服务网络架构图
微服务网络理念目前得到广泛的认同,在落地过程中,需要通过实践不断优化规模化应用中海量数据支撑和全量推送等性能问题,集成并提升微服务网络运维能力,探索新老架构并存、迁移的最佳实践。
2.3 DevOps
DevOps来自于开发和运维的组合,强化软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和稳定,最终实现的就是持续交付,确保软件可以稳定、持续地处于随时可发布状态。
DevOps并不是一种新的工具集,而是一种思想、一种文化,用以改变传统开发运维模式的一套最佳实践。软件开发服务化组织模式方面,构建端到端全功能团队,开发运维一体化,并对团队充分授权;软件架构设计方面,对系统进行服务化解耦,支持按服务小包独立交付;开发和运维流程方面,加强开发与运维的协同,支持更短的周期,更快的反馈;软件服务流程方面,支持服务的独立交付,自动化的环境部署;软件开发环境和工具方面,通过持续集成、持续部署(CI/CD)自动化的工具和流程来实现DevOps的思想,以流水线的形式改变传统开发人员和测试人员发布软件的方式。
随着云原生基础设施越来越完善,加速了开发和运维角色的融合,使云原生的DevOps实践成为趋势。
云化转型之路并不能一蹴而就,尤其是长期发展过程中遗留下了诸多传统系统,而为了平滑过渡和新旧兼顾,在数智化转型的初期选择“双态”模式,即基于传统IT架构的稳态模式和基于云计算架构的敏态模式。虽然“双态”模式可以帮助我们赢得过渡时间,但是如何将传统业务系统逐步云化迁移,并最终实现完全云化的业务架构,仍然是我们面临的首要难题。
为了更好的促使业务系统朝着云原生和微服务架构迁移,让传统应用摆脱对基础设施的依赖,将传统应用中非业务逻辑的部分解耦下沉,更好地全栈治理复杂基础架构设施及其之上的微服务,更好地推行基于DevOps的敏捷文化,将最新的IT技术集成并应用到业务系统中。通过技术的快速创新驱动业务的高速增长,中国移动通信集团有限公司信息技术中心基于云原生技术自主研发了磐基PaaS平台和磐舟一体化交付平台,并以磐基PaaS平台为基础,持续深化IT系统云化,实现能力的沉淀、共享、运营和汇聚,推动IT架构和能力的云原生转型。
3.1 磐基PaaS平台
中国移动磐基PaaS平台以统一K8S技术栈为基础,完善以应用为核心的云原生技术标准,重视多样化算力体系和标准化体系构建,构建X86/ARM双平面算力资源,优化CPU/GPU算力支持,满足在不同业务场景下的应用需求,丰富容器运行时;引入Operator模式,提升技术服务组件和平台内部组件的供给效率;在容器编排和应用管理之间,增加OAM应用管理平面,促进应用构建和部署的标准化,如图4所示。
图4 磐基PaaS平台架构图
平台提供操作简便的一键式服务自动化部署、统一配置管理、应用的弹性扩缩容、微服务管控、DevOps工具链、资源/ 服务/ 容器等多维度综合监控和安全管控等功能,并在此基础上持续发展Serverless和AI等创新能力。
(1)多租户集中管理,多集群统一管理。基于RBAC模型的3级安全管理,实现多租户安全管理,隔离不同租户的资源和访问权限。通过分区和分集群的方式既保持各项目的独立性,又保持资源的共享。通过对接集群的节点,实现集群内资源管理和应用部署管理,将多个集群纳入统一管理。多集群模式下,实现多集群应用的统一分发和部署、应用版本升级和跨集群灰度发布和滚动升级,以及部署到不同集群的不同分区。
(2)跨集群资源调度,动态服务弹性伸缩。通过跨集群统一调度引擎,在资源调度过程中,实现应用的多集群统一部署。根据算法指定同一应用在不同集群上部署容器数的比例;支持跨地域跨集群容灾,在某一集群故障或割接时实现应用在不同地域之间集群间的无缝迁移。基于CPU利用率、内存利用率和其它自定义的度量指标自动扩缩Pod的副本数量,使工作负载服务的整体度量水平与用户所设定的目标值匹配,在微服务架构下实现秒级扩缩容。该方案解决了全网扩地域、跨中心、跨集群的多网络域应用智能部署和调度,既保证了系统质量,又提高了资源利用率和多业务的资源共享,大大减少对运维人员的依赖。
(3)提供服务流程编排能力,简化应用部署流程。平台服务配置与部署中心提供可视化的服务编排管理,提供简洁的可视化Web UI工具,基于Node-Red功能进行强化,用拖拉拽的方式快速实现灵活自定义的服务编排,能够基于平台已存在的基础服务,迅速编排出业务服务。支持一键发布至不同集群不同分区,通过Helm管理工具,提供打包应用,管理应用依赖关系和应用版本,并发布应用到软件仓库的管理能力,实现应用发布可配置。该方案简化了应用管理的难度,使应用管理、升级、部署变得更加简单。
(4)扩展微服务网格能力,打造企业级服务网关。根据企业的业务、管理和安全的需求,对原生的lstio数据平面核心组件Envoy进行了能力改造。开发了Envoy图形化管理工具,通过grpc协议进行管控,实现安全、路由、流控等能力,提升系统负载均衡能力和稳定性。开发了与硬件负载均衡器的对接接口,实现集群节点状态的变化,实时与硬件负载均衡器同步,保证集群的扩张和节点的状态变化能够实时地反映到硬件负载均衡器的策略上,真正实现弹性伸缩与硬件设备的同步。采用直接路由方式,跳过Iptables NAT转发,把跨Node之间的Pod访问网络损耗降到最低。
(5)提供AIOps服务,保障业务平稳运行。通过AI能力提升平台智能运维能力,提供异常检测、指标预测、日志分析、智能客服和根因分析5个功能模块,采集了上百种指标数据,包含主机类、K8S类和组件类指标等。
(6)打造国产化组件,提升自主可控水平。引入5家国产OLTP数据库组件应用,并实现PaaS平台对接,实现了云化服务能力。同时与业界合作伙伴组成“产学研用”联合体,承接工信部《2020年基础支撑软件项目-中间件》项目。该项目在底层支撑平台、产品高端能力、自主发展路线和关键领域应用等多个维度实现突破。
目前,磐基PaaS平台已为中国移动B域、M域、O域3种域提供超过80个集群,纳管超过8000台主机,容器超过20万,提供各类技术服务组件55种,已上线业务系统40余个。
3.2 磐舟一体化交付平台
图5 磐舟一体化交付平台示意图
磐舟平台重点技术特点如下。
磐舟平台目前已经实现规模化应用,托管150余个开发项目,代码提交超过2万次,托管代码仓库近千个,管理代码超过0.5亿行。
3.3 云原生优秀实践案例
3.3.1 中国移动CMIOT系统云原生改造实践
图6 中国移动CMIOT系统云原生实践
3.3.2 中国移动网状网系统云原生改造实践
网状网系统是支持中国移动全网新业务运营的信息系统。网状网连接总部系统、31个省BOSS系统和全网业务平台。
网状网系统依托磐基PaaS平台提供的资源管理、镜像管理、容器管理、日志采集、监控管理、云安全和DevOps 能力,以服务化架构为基础,实现业务交互、处理逻辑、技术平台和硬件资源的解耦,作为第一个实现全容器化的支撑系统,使用平台提供18种组件服务。在应用管理上,系统应用发布整个过程依托磐基PaaS平台自动化工具一键完成,实现多集群应用统一发布,灰度上线,保证业务无影响,用户无感知。通过多集群容灾管理,实现跨集群统一部署、跨集群灰度发布、滚动升级和故障集群的自动化切换。在服务管控上,借助微服务网格提升网状网业务应用微服务架构能力,实现业务应用服务拓扑间服务请求的可靠传递;支持服务间调用拓扑图和调用性能实时监控,为用户提供实现可视化、动态的应用信息。在镜像管理上,实现网状网所有集群的分布式部署和自动化的镜像同步,提高运维部署效率,如图7所示。
图7 中国移动网状网系统云原生实践
网状网通过磐基PaaS平台顺利完成对全网所有业务的支撑,在服务编排、流量调度和集群部署等方面均有显著的能力提升,全面提高了网状网业务承载能力和运营质量。
电信工程技术与标准化
《电信工程技术与标准化》创刊于1988年,是由中国移动通信集团有限公司主管,中国移动通信集团设计院有限公司主办,由国家新闻出版署认定的信息通信学术期刊。
刊物旨在宣传信息产业的方针政策;介绍通信行业发展趋势、通信理论、技术知识和标准规范;交流科研、设计、规划、施工维护方面的技术与经验。
欢迎关注和投稿:
http://tetas.cmdi.chinamobile.com
点击下方蓝色字体查看
以上是关于中国移动陈国:云原生技术赋能数智化转型升级的主要内容,如果未能解决你的问题,请参考以下文章