一. EdgeGallery
简介
MEC场景下的EdgeGallery是让资源边缘化,实时完成移动网络边缘的业务处理,MEC场景下的EdgeGallery让开发者能更便捷地使用 5G 网络能力,让5G能力在边缘触手可及。
EdgeGallery是由华为、信通院、中国移动、中国联通、腾讯、九州云、紫金山实验室、安恒信息等八家创始成员发起的一个MEC边缘计算开源项目。目的是打造一个符合5G 边缘“联接+计算”特点的边缘计算公共平台,实现网络能力(尤其是5G网络)开放的标准化和MEC应用开发、测试、迁移和运行等生命周期流程的通用化。
EdgeGallery 平台采用 Apache License 2.0 作为开源代码协议,并已在 Gitee 发布第一批种子代码。目前,EdgeGallery 社区已在深圳和西安建立了两个自动化测试中心,并将于2020年底在北京、南京、上海、东莞等地陆续建成 5 个场景化测试验证中心。
解决的问题
EdgeGallery要解决的是5G MEC边缘计算平台的标准不统一带来的生态碎片化,产业规模做不大的问题。
MEC本质上是一个面向开发者的ICT基础设施市场,竞争力体现在为应用开发者提供的软件基础平台和工具链的丰富程度,市场结果体现在应用生态的丰富程度。如果没有统一的MEC平台框架,会造成不同运营商/厂商系统的不兼容。应用和解决方案开发者往往需要针对不同平台进行应用的定制开发,这导致巨大的学习成本和开发成本,结果就是大部分开发者无法承受这样的成本而放弃,MEC的应用生态难以发展。通过开源来打造一个公共的MEC平台和相关工具链,就是为了让整个电信产业形成统一的MEC标准,一起做大MEC的市场空间。
关键特性
EdgeGallery的特性:
- 可以将开源应用布置到edgegallery平台上,它有APPStore是一个边缘应用市场,用户可以直接上传边缘应用,经过测试后对外展示。
- 提供开放的API能力,实现二次开发,使得开发者更加方便快捷的开发应用集成到edgegallery平台。
- 快速集成位置信息和调用人脸识别算法服务
EdgeGallery总体架构
EdgeGallery的原生架构设计目的,是为了解决应用复制难、开发门槛高、商业变现难以及行业部署多样化四大问题,总共分为三个功能态,包含应用设计态、应用分发态、应用运行态,孵化出四个子系统:开发者平台、应用仓库、管理平面编排器、MEP平台。
开发者平台:
- AI 硬件能力增强:支持昇腾/Atlas 硬件以及开放 API、ETSI MEC API、3GPP CAPIF 以及昇腾能力支持情况匹配。
- 应用开发设计态框架:提供 EdgeGallery 小程序、设计态等。
应用设计平台:
- 部署包设计:通过上传部署应用所需的YAML文件自动生成应用部署的Helm包。
- 应用包设计:部署调测完成后可以继续打包成TOSCA规范的CSAR包
APP 仓库:
- 体验优化:APP 分类、APP 推荐、爆款动态刷新。
- APP store 分布式联邦:实现与三方 APP 仓库的 APP 推送共享、完成 80+ 应用集成、落地近 20 个创新基地等。
编排管理(MECM):
- 跨平台支持:支持基于 Openstack 的虚拟应用和基于 k8s 容器应用的部署管理。
- 安全增强:应用远程登陆(如 VNC)支持安全全协议登陆、分权分域等。
- 模板管理:该功能没具体介绍,但1.3.0版本的发行说明里面说明了该功能,看上去像是标准化工业平台配置管理
边缘平台(MEP):
- 按需部署:IaaS/PaaS/应用都支持按需部署、应用框架自动生成。
- 节点服务管理:MEP 微服务管理架构可视化。
- 社区实验室增强:资源一键申请,一键释放,可视化管理。
- 边缘自治:无论是管理面组件还是用户面数据都部署在边缘,在边缘侧分中心集群和边缘集群,中心集群部署EdgeGallery管理面组件,边缘集群部署MEP和MEPM和用户业务。EdgeGallery中的一个边缘节点指的就是一个集群,拥有管理自己业务的能力,其业务通过中心集群的管理面组件下发。
- ETSI协议支持:目前仅MEP符合ETSI协议Mp1规范,Mm3、Mm1等协议均不支持。
EdgeGallery部署视图
下图中的边缘节点和中心节点代表的都是集群,EdgeGallery部署分为中心和边缘两部分,中心集群部。EdgeGallery的管理面组件,包括Developer、AppStore、ATP和MECM几个核心组件,边缘集群部署MEPM和MEP组件,业务通过中心集群的EdgeGallery管理面使用Mm3接口下发到边缘集群的MEPM组件,由于业务运行在自己的边缘集群中,因此拥有一定的边缘自治能力。
各个组件的功能
EdgeGallery各个组件的前端界面基本使用Vue.js渐进式JavaScript框架开发,MEO相关组件使用Java语言开发,MEPM相关组件以及MEP基本使用Go语言开发。组件的详细描述如下:
1.一站式集成开发平台
架构
提供开源开发者统一入口,包括开发流程、开发工具、开放的API能力、集成测试验证,开发者交流论坛等,使开发者更加方便快捷的开发应用并集成到edgegallery平台。
Developer分为前后台两个部分,developer-be是后台部分,提供主要功能接口供前台或其他三方系统调用,developer-fe是前台部分,提供界面展示。其架构设计如下图所示:
- Developer-fe 开发者平台前台框架,使用VUE开发。
- Developer-be 开发者平台后台框架,使用SpringBoot+ServiceComb开发。SpringBoot是由Java编写的Web后端框架,而ServiceComb是一个微服务的开源解决方案,本项目用于实现服务注册和服务发现的功能。
- Developer DB 后台依赖Postgres数据库。
Service Center 是一个服务注册中心,和其他注册中心一样,其主要作用在于解决服务的注册与发现,即动态路由的问题。
能力中心
能力中心是EdgeGallery平台对外提供平台能力和生态能力的API管理中心,开发者在完成应用开发后,如果需要将这个APP的能力开放给其他用户使用,可以发布成为生态应用,开发者也可以使用能力中心的API进行二次开发
EdgeGallery会将该APP的对外接口提供给其他开发人员使用,并且将该服务通过MECM部署在需要的边缘侧,供其他APP能够使用,其API管理功能具体包括以下几个方面:
- 平台提供可用的MEP接口供开发者使用,提高开发者的开发效率,并能够开发出更加实用的App应用。
- MEP接口会持续更新,丰富能力。
- 开发者也可以将自己开发的App通过接口的形式贡献出来,供其它开发者调用。