Written by Oleg Berzin, Ph.D., Co-chair of the Akraino Technical Steering Committee and Fellow, Technology and Architecture at Equinix
Introduction
The Public Cloud Interface (PCEI) blueprint was introduced in our last blog. This blog describes the initial implementation of PCEI in Akraino Release 4. In summary, PCEI R4 is implemented based on Edge Multi-Cluster Orchestrator (EMCO, a.k.a ONAP4K8S) and demonstrates
- Deployment of Public Cloud Edge (PCE) Apps from two Clouds: Azure (IoT Edge) and AWS (GreenGrass Core),
- Deployment of a 3rd-Party Edge (3PE) App: an implementation of ETSI MEC Location API Server.
- End-to-end operation of the deployed Apps using simulated Low Power Wide Area (LPWA) IoT client and Edge software.
Before describing the specifics of the implementation, it is useful to revisit PCEI architectural concepts.
The purpose of Public Cloud Edge Interface (PCEI) is to implement a set of open APIs and orchestration functionalities for enabling Multi-Domain interworking across Mobile Edge, Public Cloud Core and Edge, the 3rd-Party Edge functions as well as the underlying infrastructure such as Data Centers, Compute Hardware and Networks. Interfaces between the functional domains are shown in the figure below:
The detailed PCEI Reference Architecture is shown in the figure below. For the full description of the PCEI Reference Architecture please refer to the PCEI Architecture Document.
There are some important points to highlight regarding the relationships between the Public Cloud Core (PCC) and the Public Cloud Edge (PCE) domains. These relationships influence where the orchestration tasks apply and how the edge infrastructure is controlled. Both domains have some fundamental functions such as the underlying platform hardware, virtualization environment as well as the applications and services. In the Public Cloud context, we distinguish two main relationship types between the PCC and PCE functions: Coupled and Decoupled. The table below shows this classification and provides examples.
The PCC-PCE relationships also involve interactions such as Orchestration, Control and Data transactions, messaging and flows. As a general framework, we use the following definitions:
- Orchestration: Automation and sequencing of deployment and/or provisioning steps. Orchestration may take place between the PCC service and PCE components and/or between an Orchestrator such as the PCEI Enabler and PCC or PCE.
- Control: Control Plane messaging and/or management interactions between the PCC service and PCE components.
- Data: Data Plane messaging/traffic between the PCC service and the PCE application.
The figure below illustrates PCC-PCE relationships and interactions. Note that the label “O” designates Orchestration, “C” designates Control and “D” designates Data as defined above.
The PCEI implementation in Akraino Release 4 shows examples of two App-Coupled PCC-PCE relationships: Azure IoT Edge and AWS GreenGrass Core, and one Fully Decoupled PCE-PCC relationship: an implementation of ETSI MEC Location API Server.
In Release 4, PCEI Enabler does not support Hardware (bare metal) or Kubernetes orchestration capabilities.
PCEI in Akraino R4
Public Cloud Edge Interface (PCEI) is implemented based on Edge Multi-Cluster Orchestrator (EMCO, a.k.a ONAP4K8S). PCEI Release 4 (R4) supports deployment of Public Cloud Edge (PCE) Apps from two Public Clouds: Azure and AWS, deployment of a 3rd-Party Edge (3PE) App: an implementation of ETSI MEC Location API App, as well as the end-to-end operation of the deployed PCE Apps using simulated Low Power Wide Area (LPWA) IoT client and Edge software.
Functional Roles in PCEI Architecture
Key features and implementations in Akraino Release 4:
- Edge Multi-Cloud Orchestrator (EMCO) Deployment
- Using ONAP4K8S upstream code
- Deployment of Azure IoT Edge PCE App
- Using Azure IoT Edge Helm Charts provided by Microsoft
- Deployment of AWS Green Grass Core PCE App
- Using AWS GGC Helm Charts provided by Akraino PCEI BP
- Deployment of PCEI Location API App
- Using PCEI Location API Helm Charts provided by Akraino PCEI BP
- PCEI Location API App Implementation based on ETSI MEC Location API Spec
- Implementation is based on the ETSI MEC ISG MEC012 Location API described using OpenAPI.
- The API is based on the Open Mobile Alliance’s specification RESTful Network API for Zonal Presence
- Simulated IoT Client Code for end-to-end validation of Azure IoT Edge
- Azure IoT Edge Custom Software Module Code for end-to-end validation of Azure IoT Edge
End-to-End Validation
The below description shows an example of the end-to-end deployment and validation of operation for Azure IoT Edge. The PCEI R4 End-to-End Validation Guide provides examples for AWS GreenGrass Core and the ETSI MEC Location API App.
Description of components of the end-to-end validation environment:
- EMCO – Edge Multi-Cloud Orchestrator deployed in the K8S cluster.
- Edge K8S Clusters – Kubernetes clusters on which PCE Apps (Azure IoT Edge, AWS GGC), 3PE App (ETSI Location API Handler) are deployed.
- Public Cloud – IaaS/SaaS (Azure, AWS).
- PCE – Public Cloud Edge App (Azure IoT Edge, AWS GGC)
- 3PE – 3rd-Party Edge App (PCEI Location API App)
- Private Interconnect / Internet – Networking between IoT Device/Client and PCE/3PE as well as connectivity between PCE and PCC.
- IoT Device – Simulated Low Power Wide Area (LPWA) IoT Client.
- IP Network/vEPC/UPF) – Network providing connectivity between IoT Device and PCE/3PE.
- MNO DC – Mobile Network Operator Data Center.
- Edge DC – Edge Data Center.
- Core DC – Public Cloud.
- Developer – an individual/entity providing PCE/3PE App.
- Operator – an individual/entity operating PCEI functions.
The end-to-end PCEI validation steps are described below (the step numbering refers to Figure 5):
- Deploy EMCO on K8S
- Deploy Edge K8S clusters
- Onboard Edge K8S clusters onto EMCO
- Provision Public Cloud Core Service and Push Custom Module for IoT Edge
- Package Azure IoT Edge and AWS GGC Helm Charts into EMCO application tar files
- Onboard Azure IoT Edge and AWS GGC as a service/application into EMCO
- Deploy Azure IoT Edge and AWS GGC onto the Edge K8S clusters
- All pods came up and register with Azure cloud IoT Hub and AWS IoT Core
- Deploy a custom LPWA IoT module into Azure IoT Edge on the worker cluster
- Successfully pass LPWA IoT messages from a simulated IoT device to Azure IoT Edge, decode messages and send Azure IoT Hub
For more information on PCEI R4: https://wiki.akraino.org/x/ECW6AQ
PCEI Release 5 Preview
PCEI Release 5 will feature expanded capabilities and introduce new features as shown below:
For a short video demonstration of PCEI Enabler Release 5 functionality based on ONAP/CDS with GIT integration, NBI API Handler, Helm Chart Processor, Terraform Plan Executor and EWBI Interconnect please refer to this link:
Acknowledgements
Project Technical Lead:
Oleg Berzin, Equinix
Committers:
Jian Li, China Mobile
Oleg Berzin, Equinix
Tina Tsou, Arm
Contributors:
Mehmet Toy, Verizon
Tina Tsou, Arm
Gao Chen, China Unicom
Deepak Vij, Futurewei
Vivek Muthukrishnan, Aarna Networks
Kavitha Papanna, Aarna Networks
Amar Kapadia, Aarna Networks