本站点使用Cookies,继续浏览表示您同意我们使用Cookies。 Cookies和隐私政策>

首页 信息速查 百科 在线课堂 智能问答

什么是OAS?

开放性应用系统OAS(Open Application System)为设备提供了系统开放的能力,通过虚拟化技术在原来相对封闭的设备系统架构基础上划分了一块独立的空间,当设备上的固有功能不能满足要求时,用户可以根据自己的需要在OAS中安装定制的应用,满足多样化的网络管理需求。

为什么需要OAS?

随着网络的不断发展,用户对网络设备差异化的需求不断增加,传统网络设备上的固有功能已经不能满足用户的需要,用户更加关注实现自身业务需求的应用。因为传统网络设备的软硬件架构相对封闭,且没有一家厂商可以单独提供客户需要的所有服务,用户只能通过不断购买和部署新的服务器来满足业务需要。这样不仅让整个系统变得越来越庞大和复杂,也让这些孤立的应用难以统一管理。在这种需求的驱动下,要求网络设备从封闭逐渐走向开放,让用户可以基于开放的系统,灵活定制自己的业务应用。

虽然华为之前也提供了统一的应用程序接口,为网络设备增加了开放可编程能力,但是开放性还远远不够。为了进一步解决这一问题,我们利用虚拟化技术在网络设备原有的基础硬件和操作系统上构建了OAS,为用户提供了一个独立可操作的平台安装个性化应用。当出现新的业务需求时,可以直接在现有的网络设备上安装定制的应用而不用额外购买服务器,降低了业务扩展的成本,也在一定程度上为运维减负。

这些个性化的应用既可以是华为为特定用户定制的功能,也可以是合作伙伴或者用户自行定制开发的。开放性的提高促使更多的个人和组织参与到通信系统的改进和完善当中,为用户提供更加丰富的业务体验和更大的选择空间。另一方面,越来越多的第三方应用通过OAS加载到现存的网络架构中,为未来的IoT应用无缝连接、构建万物互联的生态打下基础。

OAS的应用

OAS可以应用在很多场景中,例如下图所示的医疗物联网场景,医院中每个病人的相关医疗设备都通过WiFi接入到临床医疗物联网中,网络设备利用OAS能力安装了第三方应用,该应用收集医疗设备的信息并将其转换成业务数据上传到医疗云,方便医疗机构的工作人员及时有效的掌握病人的各种情况。

医疗物联网场景
医疗物联网场景

OAS是如何实现的?

系统架构

具备OAS功能的设备系统架构如下图所示,在设备的基础硬件和基础操作系统上同时运行了原设备功能和OAS。

具备OAS功能的设备系统架构示意图
具备OAS功能的设备系统架构示意图
  • APP

    OAS中创建的应用,可以为用户提供个性化的功能。

  • APPM(Application Manager)

    应用管理系统,用来管理虚拟化应用,主要负责应用的资源管理和生命周期管理。

  • 应用资源管理

    提供应用使用的CPU、内存、存储等资源的分配,同时负责这些资源的监控和调度。

  • 应用生命周期管理

    提供应用的创建、启动、停止和删除等操作。

实现与第三方APP的通信

为了满足第三方APP的通信需求,OAS提供了以下三类接口。

  • 东西向接口:OAS中的第三方APP与设备内部软件交互时使用的接口。
  • 业务接口:OAS中的第三方APP与外部设备交互时使用的接口。
  • 管理接口:用户通过该接口对OAS中的第三方APP进行管理与维护。

以安装第三方日志采集APP为例,示意图如下。日志采集APP通过东西向接口收集设备上日志服务模块产生的日志;通过业务接口收集网络中其他设备的日志,并将所有收集的日志再通过业务接口上送到第三方的日志审计服务。日志审计服务通过管理接口对日志采集APP进行管理和维护。

日志采集APP的通信示意图
日志采集APP的通信示意图

基于Docker容器的OAS

OAS目前支持通过Docker容器进行第三方应用的安装和管理,下面首先介绍下容器和Docker的相关概念。

容器技术是一种轻量级的虚拟化技术。容器将运行的代码及其运行的所有依赖进行打包,以便将应用从一个计算环境可靠快速地复制到另一个计算环境。所有容器共享同一个操作系统内核,容器之间是互相隔离的。常见的经典容器管理应用主要有Docker、LXC等。OAS集成了Docker,支持用户运行基于Docker容器的第三方应用。

Docker是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖到一个可移植的容器中,然后发布到任何安装了Docker引擎的服务器上。

  • 镜像:Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数。 镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像可以用来创建Docker容器,用户可以使用设备上已有的镜像来安装多个相同的Docker容器。
  • 容器:镜像运行时的实体。容器可以被创建、启动、停止、删除等。每个Docker容器内仅运行一个应用,只实现一个业务功能,该应用是制作容器镜像时直接内置在镜像中的,容器安装完成后直接通过操作容器完成对于应用的管理。

在以Docker容器为基础的OAS中,OAS实际架构如下所示。

基于Docker容器的OAS架构
基于Docker容器的OAS架构
  • APPM

    基于Docker引擎实现容器的资源管理和生命周期管理。

  • Container

    使用Docker制作的镜像创建的容器。

  • App

    容器内用户所需的实现业务功能的应用。

  • Bin/Libs

    应用运行所需的依赖环境。

每个Docker容器中包含了用户所需的实现业务功能的应用及其运行的依赖,通过对容器的操作即可实现对应用的管理。容器化应用只需要拥有对应的镜像文件,就可以在不同的设备和环境中快速安装,避免了很多环境适配的工作投入,进一步方便了应用的快速迁移和大规模部署。

词条统计
  • 作者: 顾佩月
  • 最近更新: 2021-10-09
  • 浏览次数: 1094
  • 平均得分: