ORAN专题系列-13:微服务架构在5G O-RAN RIC中的应用
摘要: 本文将探讨微服务架构的基本概念以及微服务架构在5G O-RAN RIC中的应用
前言:
《5G O-RAN RIC的PaaS和SaaS是封闭与开放的融合》提到,O-RAN按照”云”计算的理念把RIC以云服务的方式提供给客户,平台即服务主要体现在RIC PaaS上,而软件即服务SaaS主要体现在xApp上。为了更快、更容易部署xApp,RIC PaaS和xApp均采用微服务软件架构。本文将探讨微服务架构的基本概念以及微服务架构在5G O-RAN RIC中的应用。
微服务架构是一项在云中部署应用和服务的新的软件架构技术,它是伴随着“云”计算的发展由单体应用程序架构逐渐演变而来的。
一、微服务架构的演进
1. 单体应用程序架构
特点:
软件的所有功能集成在同一个软件包中,整体部署在服务器中运行。
优点:
- 在业务发展初期,为了快速落地应用,满足客户需求,一般会使用All in One的单体架构,
- 也是小项目的首选,开发成本低,架构简单。
缺点:
- 项目复杂后,模块与模块之间的交互与耦合就会很严重,很难扩展与维护,扩展成本高。
- 模块由于存在直接或间接的调用关系,编程语言也受限制。
- 所有的服务胶合在一起,没有分离,任何一点小的改动,都需要重新发布整个软件包。
- 新的技术很难在单体架构中实施。
注解:
这是典型的RAN系统中任一网元的传统的软件架构,导致组件间高度耦合。
2. 垂直应用程序架构
特点:
- 对于单体架构进行拆分,拆分成几个垂直的独立的单体架构的子应用程序,
- 子应用程序之间尽量相互独立,没有交互。
- 单体架构的应用程序如果需要通信,则采用进程间通信实现。
优点:
- 架构简单,只是单体架构的复制。
- 避免在原有单体架构上做无限的功能扩充,避免了单个应用程序内部变得过于复杂和臃肿。
- 新增单体可以采用新的技术实现,不必受限于原有系统。
缺点:
- 不同应用程序之间有公共代码的实现的冗余,长此以往,公共代码就有多份备份,会导致资源的浪费。
- 不同应用程序之间出现动态数据的冗余,不同应用程序之间需要进行数据的同步。
- 且存在大量的重复代码拷贝及模块功能需大量重复造轮子的情况
3. SOA面向服务的架构
特点:
- 面向服务的体系结构已经逐渐成为IT集成的主流技术
- 一个服务定义了一个相对独立、自包含、可重用的业务功能。
- 服务间一般通过企业服务总线(ESB)的方式组装起来,对外提供更复杂的服务,满足客户更多样化的需求。
- ESB是传统中间件技术与XML、Web服务等技术结合的产物
优点:
- 提高了系统的可复用性、解决冗余代码
- 通过ESP通信,减少模块之间的耦合
缺点:
- 系统/应用与服务之间的界限不清晰,不利于开发
- ESP服务接口不固定,不利于系统维护
- 服务抽取的粒度过大。
4. 微服务架构:(大平台)
特点:
- 微服务架构是一种部署在“云”中的应用程序的架构模式,
- 提倡将系统各个功能,抽象出来,变成一个个独立的细小服务,
- 每个独立的小服务可以独立部署,因此细小服务是自带上下文的。
- 微服务之间采用基于Http协议的轻量级的通信机制。
- 应当尽量避免统一的、集中式的服务管理机制。
- 每个独立的小服务可以选择适合的编程语言和工具进行独立构建。
优点:
- 拆分粒度比较小,便于独立开发、部署、维护。
- 适用于互联网快速的更新迭代。
- 每个微服务可以通过独立的技术(编程语言或其他工具)实现
- UI和微服务间采用轻量级的HTTP协议进行通信。
缺点:
- 微服务太多,达到成千上万个,对微服务框架和微服务的治理平台要求较高。
- 把系统拆分的一个个独立的小服务的技术要求和难度大。
二、 O-RAN RIC的架构及微服务应用程序xApp
在上述RIC的架构中,RIC PasS的服务,是以微服务的方式提供。
当然,RIC PasS还包括微服务的开发平台、运行平台和治理平台。
而xApp是第三方开发的应用程序,基于微服务架构的应用程序,主要利用RIC PasS微服务提供的RAN系统的数据,进行特定行业或特定领域场景下对RAN资源进行控制。
结束语:
微服务架构是新的软件架构,在互联网中得到了普遍的应用,而电信设备商的软件架构基本还停留在最初的单体程序架构上,因此电信设备商要想大幅度减少软件的发布周期,提升软件从开发到发布再到部署的整体效率,不仅仅需要组织架构的革新、软件开发流程的革新、IT基础设施的革新、管理人员和开发人员(劳动者)思维方式的变革、还包括目标系统(劳动对象)软件系统架构的革新。