摘要边缘计算是一个新兴的技术方向,边缘计算能够和云计算紧密结合,充分发挥边缘的低时延、安全等特性,具有广阔的应用前景
边缘计算的研究工作仍处于一种探索阶段,各厂商及开源社区边缘技术路线各不相同
本文的边缘计算平台是基于 Nomad 构建的边缘云落地形态
Docker 等容器技术由于具备轻量级、节约资源、毫秒级启动时间、高性能等特性,适合大多数边缘计算的场景
然而,Nomad 已有的容器等运行时并不能覆盖某些边缘场景的需求 ,Nomad 运行时的支持种类仍有待丰富
本文着眼于边缘计算平台的多运行时支持,包括 Libvirt 虚拟机运行时和 FaaS 函数运行时
目前许多企业还存在存量虚拟机的场景,已有业务迁移的需要以及一些边缘场景需要使用传统虚拟机
基于该需求,本文引入 Libvirt 虚拟化技术,提出了 Libvirt 虚拟机运行时,以插件的形式作为一个中间层管理虚拟机任务
另外 ,物联网平台和应用使用边缘计算承载已成为共识,但物联网应用存在海量接入 、碎片化、边缘化等特点,并且目前云、边、端三者的计算架构、开发模式存在较大差异,为提升效率需要边缘计算提供新的架构和技术手段
本文调研了Serverless 的 FaaS 技术,提出了 FaaS 函数运行时
技术选型后采用 OpenFaaS,尝试在边缘端采用函数计算的服务模式
FaaS 函数运行时实现了 faas-provider 接口,进行函数管理、部署和调用,将闲置的函数缩容到零,并在调用前预热函数,从函数的层面定义编排函数工作流程
由此,基于 Nomad 的边缘计算平台具备虚拟机、容器、函数等多粒度多运行时的支持
此外,Serverless=FaaS+BaaS,单独的 FaaS 函数运行时还不能满足开发者需要,本文设计了边缘容器镜像仓库方案,提供边缘端就近地拉取镜像的一类BaaS
以及整合其他开源项目,在边缘计算平台上提