一、Akraino简介
1.1 Akraino是什么
Akraino Edge Stack是一个Linux基金会项目,支持针对边缘计算系统和应用程序优化的高可用性云服务,今天宣布其从形成转变为“Excute(执行)”。 该项目成员有ARM、AT&T、戴尔EMC、爱立信、华为、英特尔公司、inwinSTACK、瞻博网络、诺基亚、高通、Radisys、红帽和风河等。 HPE首席执行官Antonio Neri表示,该公司将在未来四年内投资40亿美元用于边缘技术和服务。此后,微软承诺在同一时间内投资50亿美元用于物联网和边缘技术。
Akraino Edge Stack旨在改善企业边缘、OTT边缘和运营商边缘网络的边缘云基础架构状态,为用户提供新的灵活性,以便快速扩展边缘云服务,最大限度地提高边缘支持的应用程序和功能,帮助保持边缘系统的可靠性。
Akraino Edge Stack将支持广泛的Telco、Enterprise和Industrial Edge用例,其中包含针对已定义的用例和经过验证的硬件和软件配置。社区已创建了基于用例的BP,可以在项目Wiki上获取详细的技术介绍。此外,社区旨在解决API定义,将API标准化实现边缘用例。
Akraino Edge Stack代码基于AT&T的Network Cloud开发,在虚拟机(VM)和容器中开发运行的运营商级计算应用程序,Linux Foundation使用该代码构成Akraino项目,并向Linux社区开放和提供。提供的方案将实现为边缘和远程边缘的电信相关用例创建集成堆栈,并达到5毫秒到20毫秒的延迟,企业和工业物联网堆栈则低于5毫秒的延迟。
Akraino分为三个部分,如下图所示。上层是应用部署,主要负责部署边缘应用并创建app/VNF的边缘生态系统,中间层是边缘中间件和API,创建标准的边缘平台和中间件,并统一API和SDK接口。底层是IaaS层,进行对接开源的边缘堆栈。那么什么是边缘堆栈呢?边缘堆栈在我的理解上就是开源的IaaS管理项目,比如OpenStack、Kubernetes等。
1.2 遇到的挑战
AT&T在OpenDev期间针对边缘堆栈提出的挑战是:
1.部署和生命周期管理需要完全自动化;
2.自动化过程需要在大规模下进行;
3.堆栈需要模块化,以允许不同的大/小功能,具体取决于边缘环境;
4.堆栈需要支持GPU,TPU,NPU,FPGA等新的硬件加速技术;
5.边缘堆栈需要支持与ONAP和其他相关软件堆栈的集成。
鉴于这些要求,AT&T提到了6个开源软件项目,如下图所示:
虽然OpenStack和Kubernetes(NFVI / VIM)可用作底层Edge Stack技术,但没有什么软件可用于大规模部署和管理这些堆栈的生命周期。边缘位置可能有数万个堆栈,而且这些堆栈可能通过无线电塔托管,在高速公路一侧部署或在客户机房部署,Edge Stack的手动编排将无法满足要求,这些都将需要Akraino进行边缘和自动化管理。
二、Akraino功能组件
Akraino项目设计到了众多的项目和软件,包括Airship、Calico、Camunda、CI/CD、Ceph、CNI、Gerrit 、Jenkins、JIRA、Kubernetes、Nexus 3、ONAP、OpenStack、OVS-DPDK、SR-IOV、Tempest等,架构图如下,其中本文介绍几个关键的组件。
2.1 Airship
Airship是一组可互操作且松散耦合的开源工具,提供自动化云配置和管理。Airship通过提供自定义和开放式管理基础设施工具帮助运营商管理基础设施,如OpenStack for Virtual Machines、Kubernetes用于容器编排,同时支持OpenStack Ironic。世界上知名的基础设施运营商,包括AT&T和SKT,都在积极设计、测试和部署Airship,以便大规模管理其复杂的基础设施。
2.2 ONAP
ONAP是由ECOMP和OPEN-O合并而来的一个开源软件平台,为SDN/NFV提供一个集设计、创建、编排、监控及生命周期管理于一体的自动化平台。目前其面向的管理对象为:
● 虚拟网络功能(Virtual Network Function,VNF)● 用于容纳VNFs的运营商级SDN网络(Software Defined Networks)
● 由上述元素所组成的更高层次的服务
ONAP包含大量的软件子系统,如下面的架构图所示,总体上来看,这些子系统可以划分为两大块:
● 设计时环境: 设计、定义及给平台编制程序(图中蓝色部分)● 运行时环境: 执行在设计阶段逻辑上通过了的程序(图中浅黄色部分)
总的来说,Akraino Edge Stack社区专注于Edge API、中间件、软件开发工具包(SDK),并允许与第三方云的跨平台实现互操作性。Edge堆栈还将支持Edge应用程序的开发和创建应用程序/虚拟网络功能(VNF)生态系统。
三、Akraino范围
Akraino范围包括开发边缘解决方案以解决电信、企业和工业的物联网问题,开发Edge API和框架,以便与第三方Edge提供商和混合云模型实现互操作。
1.与上游社区合作(CI / CD和上游流程支持)
2.开发边缘中间件,SDK,应用程序并创建app / VNF生态系统
3.创建蓝图(集成堆栈)以解决Edge用例
4.(Telco/hosted)边缘组件:包括ONAP,OpenStack,Airship等
5.(Telco /hosted)边缘扩展:从单个节点扩展到企业用例(例如IOT)
6.(OTT / Enterprise / Telecom)远程边缘:部署管理远程边缘位置(1000s)堆栈
7.(OTT / IIOT / Enterprise)轻量级边缘堆栈:为低延迟远程边缘和物联网网关开发轻量级堆栈
附加范围
1.单一界面控制——跨10,000个站点的边缘资源的单一视图管理。
2.精简本地控制平面——开发多种方法来减少控制平面占用资源。
3.边缘用户/开发人员API——提供标准边缘API。
4.Edge IaaS / PaaS——管理各种Edge应用程序。
5.中心云/边缘云VIM——实现边缘计算资源的远程编排。
6.中心云/边缘云——加强ONAP以支持边缘规模。
7.Cloud Native VNF ——基于容器/微服务的VNF。
四、Akraino设计原则
Edge计算解决方案需要大规模部署,Akraino项目的关键要求是保持低成本并确保其通过自动化支持大规模部署。 Akraino社区与多个上游开源社区(如Airship,OpenStack,ONAP等)合作,提供完全集成的堆栈,支持远程配置和集成堆栈的远程生命周期管理。
Akraino Edge Stack将遵循可用性、容量、安全性和连续性方面的整体设计。
1.有限的配置——降低复杂性,遵循精简配置。
2.云原生应用程序——涉及边缘云上的应用程序。
3.安全性——提供安全的平台和服务。
4.平台、VNF和应用程序评估——评估应用程序是否适合在边缘运行。(如,延迟敏感性,代码质量)。
Akraino Edge Stack将遵循以下运行原则:
1.零接触配置,操作和生命周期——降低运营支出
2.自动成熟度测量——运营,设计和服务。
3.基于软件抽象——通过软件屏蔽硬件差异。
4.通用平台和服务编排——ONAP。
五、部署示例
交付点(POD)是将Akraino部署到边缘站点的方法。如,边缘位置可以具有单个服务器或多个服务器,包含在一个或多个机架中。由于Akraino使用声明性配置,因此交付点允许被边缘设备统一管理。 POD可以使用cookie-cutter方法以更低的成本在更大规模(例如,10,000多个位置)上部署。
作为示例,下图显示了各种POD,例如cruiser—large POD,tricycle—medium POD,unicycyle—单机架POD,satellite—多台服务器和Rover—-单台服务器。每个POD都有不同的硬件组件,以满足特定的电信和企业用例。
原文发布时间为:2018-09-17
本文作者:蒋暕青