Blueprint overview/Introduction
ELIOT is "Enterprise Edge Lightweight and IOT" project under Akraino approved blueprint family and part of Akraino Edge Stack, which intends to provide an platform for 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.
IoT Gateway Blueprint will provide an infrastructure platform for an edge node to provide features of an IoT Gateway. This is achieved by leveraging the upstream opensource application like Dockers, Kubernetes , Prometheus , cAdvisor, KubeEdge and EdgeX. Companies having applications to be deployed on edge nodes related to IoT application , can use the IoT Gateway platform to have a functional end to end to ecosystem of IoT.
Use Case
Many diverse business applications require a converged IoT gateway. In this use case, the plan is to support the following scenarios:
- IOT sensor application
- OPC-UA over TSN application
- AI Camera Application
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.
Business use cases:
1. IoT gateway
- Smart cities
- Smart homes
- Connected vehicles
- Connected farming, agriculture
- Logistics
- Industrial, IIoT
Overall Architecture
ELIOT IoT Gateway Blueprint 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, 1K or more. For development environment we have tested with one ELIOT Manager Node and two ELIOT Worker Nodes.
ELIOT Manager is the central controller which manages the orchestration, life cycle, management and networking of edge nodes (IoT Gateway). It can be installed on a bare metal server or cloud VM with Ubuntu 16.04 /18.04 or Cent OS 7.5 version (currently supported OS in IoT Gateway Blueprint)
.
The node Kubernetes Master (kubeadm, kubectl, kubelet), Kubeedge-EdgeController is to facilitate auto deploy, high availability, orchestration, self-healing of the IoT Gateway Nodes.
ELIOT Nodes - IoT Gateway are Edge compute processing nodes which will provide the hardware and the software stack for deploying IoT applications.
In Release 2.0 IoT Gateway Blueprint to deploy native containerized application on the IoT Gateway Nodes have used
- Kubernetes
- KubeEdge (Internally it uses Kubernetes)
The IoT Gateway can function as a Kubernetes worker node or a KubeEdge - Edge node when used as Kubernetes or KubeEdge respectively.
IoT Gateway blueprint is integrated with EdgeX foundry platform , thus giving an platform to deploy IoT applications.
As the edge nodes can have restricted hardware resources of CPU , Memory etc, ELIOT uses ELIOT Minimal OS for the Edge nodes which is basically tailored version of Cent OS. ELIOT Minimal OS is a lightweight OS suitable for ELIOT Edge nodes.
ELIOT blueprint will use lightweight OS, Lightweight Kubelet -- KubeEdge , lightweight container runtime interface -- like containerd. By this we can leverage the core features of OS, K8S, CRI and make the edge node lightweight and efficient edge computing node by executing edge applications on node and reducing the interaction between Central Controller (Cloud Node) and the Edge Node devices.
Many cloud native monitoring applications can be used to collect container matrix and show them in a graphical manner, like cadvisor, grafana , prometheus.
ELIOT Minimal OS has been integrated with ELIOT - IoT Gateway Blueprint and tested in CentOS Environment.
Platform Architecture
<Hardware components should be specified with model numbers, part numbers, etc>
Software Platform Architecture
ELIOT Blueprint Overall Software Stack Architecture
ELIOT Manager
S. No. | Software Name | Category | Version Number | 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. | Kubeedge | Orchestration/ Lightweight Kubelet | 1.10 | |
6 | Prometheus | Monitoring | Running as Docker Container |
ELIOT Edge Node - IoT Gateway Node
S. No. | Software Name | Category | Version Number | Remarks |
---|---|---|---|---|
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 |
5. | Go Lang | Runtime Environment | > 1.12 | Go Lang is required when KubeEdge is being used at Edge Node |
6. | KubeEdge | Orchestration and IoT Platform | 1.10 | |
7. | EdgeX | IoT Platform | Edinburgh | EdgeX Platfrom. This will be running on the IoT Gateway Node |
8. | cAdvisor | Container Metrics | Latest Container version in Docker Hub | Running as Docker Container. |
APIs
Not Applicable
Hardware and Software Management
Licensing
- GNU/common license