ELIOT Release 2 - SD-WAN / WAN Edge / uCPE Architecture Document

ELIOT Release 2 - SD-WAN / WAN Edge / uCPE Architecture Document

Introduction

ELIOT is "Enterprise Edge Lightweight and IOT" project under Akraino approved blueprint family and part of Akraino Edge Stack, which intends to develop a fully integrated edge network infrastructure and running edge computing applications on lightweight Edge Nodes. ELIOT targets on making the edge node a lightweight software stack which can be deployed on edge nodes which have limited hardware capacity by leveraging lightweight OS, a container running environment and container orchestration applications.

In addition, ELIOT stack focuses to have an infrastructure for edge computing which will enable high performance, high availability, security and reduce latency.

Use Case

uCPE (SD-WAN)  - Enterprise WAN edge use of SD-WAN solutions or universal CPE (uCPE).  In this use case, plan is to support following scenarios:

  • Integrate tungsten fabric (vRouter in Node and controller in manager)

  • SD- WAN demo

Industry Sector: WAN edge, enterprise, diverse IoT applications in various vertical market segments, Carrier

Where on the Edge

Many diverse business applications require a converged IoT gateway. Enterprise WAN edge use of SD-WAN solutions or universal CPU (uCPE)

Business use case

SD-WAN, WAN edge, uCPE

  • Hybrid WAN

  • Hybrid cloud deployment

  • BYOD

Overall Architecture

ELIOT Architecture consists of an ELIOT Manager and multiple ELIOT Nodes. The scale of ELIOT (edge) Nodes can range from 1 single node to 10, 100, 10K or more.

ELIOT Manager is the central controller which manages the orchestration, life cycle, management and networking of edge nodes. It can be installed on a bare metal server or cloud VM with Ubuntu 16.04 /18.04 or Cent OS 7.5 version.
The node  Kubernetes Master (kubeadm, kubectl, kubelet) to facilitate auto deploy, high availability, orchestration, self-healing of the ELIOT Edge nodes.

ELIOT Nodes - uCPE Node are Edge compute processing nodes which can be on an uCPE hardware or VM's.  As the edge nodes can have restricted hardware resources of CPU , Memory etc,

Many cloud native monitoring applications can be used to collect container matrix and show them in a graphical manner, like cadvisor, grafana , prometheus.

(Note: The ELIOT SD-WAN / WAN Edge / uCPE Overall Architecture remains same as Release 1.0)

 

ELIOT Architecture

 

Platform Architecture

 

                

ELIOT Manager

ELIOT Portal 

ELIOT Portal is new feature added on the ELIOT Blueprint which is currently applicable for both IoT Gateway and uCPE Blueprint. ELIOT Portal main objective is use to have a dashboard for operations and management of ELIOT Cluster. It consists of ELIOT UI and ELIOT API Gateway.

In  Release 2.0 the portal is giving the following operations:-

  1. Display ELIOT Nodes

  2. Display ELIOT Services

  3. Display ELIOT PODS. 

Other options like Application Deployments,   are currently in design phase, which will be developed for future releases.

Node Monitoring

Node Monitoring main task is to collect the container performance metrics from various IoT Gateway Nodes and display on a dashboard in graphical representation. 

Network Controller & Node Resource Manager

The core part of the ELIOT Cluster which controls the Node health, high availability , overlay networking , cluster management. To manage the same Kubernetes and KubeEdge are being used for Node Resource Management with Calico for Container Networking.

ELIOT uCPE Edge Node

Container Metrics Collector

The module collects the various metrics of containers running on the Node and sends to collector which is running on ELIOT Manager node. The data metrics include CPU Usage, Memory Consumption etc of each containers running on the Edge Node.

Container Runtime Environment

Container Runtime provides the platform to run the containerized applications on ELIOT Edge Nodes. Currently Docker is being used as the platform, in future plans are to use lightweight container runtime environment like Containerd.

Kubelet

For maintaining a set of pods running on ELIOT Cluster, which are composed of one or more containers, on a local system. Within a ELIOT cluster deployed with kubernetes, the kubelet functions as a local agent that watches for pod specs via the Kubernetes API server.

Software Platform Architecture

 

ELIOT Manager

S. No.

Software Name

Type

Version

Remarks

1.

Ubuntu

OS

16.04

IoT Gateway Blueprint supports both Ubuntu and Cent OS

2.

CentOS

OS

CentOS 7 or greater

IoT Gateway Blueprint supports both Ubuntu and Cent OS

3.

Docker

CRI

18.06

 

4.

Kubernetes

Orchestration

1.16

 

5.

Prometheus

Monitoring

 

Running as Docker Container

6.

JDK

Development

1.8

ELIOT Portal API Gateway

 

ELIOT Edge Node - uCPE Node

 

1.

Ubuntu

OS

16.04

IoT Gateway supports both Ubuntu and Cent OS

2.

CentOS

OS

7 or greater

IoT Gateway supports both Ubuntu and Cent OS

3.

Docker

CRI

18.06

 

4.

Kubernetes

Orchestration

16.0

When Kubernetes is being used for the IoT Gateway Blueprint

8.

cAdvisor

Container Metrics

Latest Container version in Docker Hub

Running as Docker Container.

 

APIs

Not Applicable

Hardware and Software Management

Not Applicable

Licensing

  • GNU/common license