Blueprint overview/Introduction
...
Overall architecture diagram of the blueprint.
Figure 1 – ELIOT IOTGateway IOT-Gateway R4 architecture
ELIOT MasterManager:
ELIOT Master consists of the components: MECM , Applcm, Developer Platform Hawkbit server.MEC Manager is the central entity in the MEC system responsible for application and service deployment in an highly distributed computing environment, it provides overall view of hosts and applications deployed in the hosts. MEC Manager is the central entity in the MEC system responsible for application and service deployment in an highly distributed computing
environment, it provides overall view of hosts and applications deployed in the hosts.
MECM comprises of MEP manager which performs the following tasks
➢ Application Package Management: On-boarding of application packages and if necessary adjusting them to comply with operator policies, keeping a record of on-boarded packages
➢ Applicatin LCM: Selecting appropriate MEC host(s) for application instantiation based on user inputs, keeping record of instantiated applications on specified hosts. Also carries out other LCM operations like query, deletion, termination etc.
IotGateway Node:
The EDGE are the components where the real action takes place. Edge Node components manages the execution of various Telco Edge Applications, it provides various services which can be leveraged by edge applications for smooth functioning and its planned to provide additional aPaas services like Machine Vision, Video Analytics , IoT Analytics etc in future releases. IotGateway nodes will be a single node or a multiple node K3S Cluster, on which applications will be deployed the MECM Application Management module. The MEC Host will be hosted on a light weight OSa central node which provision and manage several IOT-Gateways deployed on Edges.
Iot-Gateway Node:
IOT-Gateway is a lightweight platform which connect and manages various IOT devices (including, provision, discovery, device twin of devices), support industrial IOT protocols, TSN for factory automation use cases etc. user IOT applications leverage cloud native environment on resource constraint devices and manages from central Node(ELIOT Manager).
Platform Architecture
The below diagram gives a overall architecture of the ELIOT IoT Gateway blueprint as given in Release 4.
...
Note: ELIOT IotGateway Blueprint Deployment has been tested on Cloud VM and is not tested on Bare-Metal Environment. Though, theoretically deployment should work in bare metal, provided hardware and software prerequisites are met. Kindly refer R4 - Test Documentation of ELIOT IotGateway to get details on the tested deployment.
ELIOT Master Components
- MECM: Regulates application and service deployment
- App Store:
- Developer Platform:
- IOT Stack
The above components are deployed on Kubernetes Platform on a Cloud VM. IOT-Stack
- IOT - Portal - ELIOT Portal uses Angular 9.0. UI to provide Network management, monitoring, Application deployment, Dashboard. It internally can be able to view and modify the ELIOT cluster i.e ELIOT Master and IOTGateway nodes.
- Software rolling update: To provide software rolling updates to devices, in ELIOT Master we are integrating Eclipse Hawkbit platform. Eclipse hawkBit For rolling out software updates to constrained edge devices. We are using Hawkbit container environment with latest version.
MECM Components:
- Dashboard: The dashboard provides user interface for the mecm services where edge nodes, APPLCM can be registered and apps can be distributed.
- Workflow / Policy: Provide policy to take action based on analytics like application relocation.
- Database: Open source PostgreSQL database is being used to store the information, Recommended version is 12.3.
- IAAS Adapter: Will retreive the retrieve the query mep MEP capabilities and kpi information from prometheus and Prometheus and also upload config, remove config, instantiate, terminate,and query an application.
- Host Selection: Repsonbile for Responsible for selection of host for deployment.
- Catalog: Catalog displays the deatils of details of on hosts and applications.
- Common DB: Persistent Database.
...
- Tools: Developer tools are used in Plugin Management, Plugin Life Cycle and grading systems making it more convenient for developers to develop applications and integrate them into the edgegallery platform.
- Workspace: Developers manage their own Application development process by creating projects or migrating projects. Developers can manage project, app package and test task management.
- PG DB: PostgreSQL database version 12.2 is being used.
IOT-Stack
- Portal - ELIOT Portal uses Angular 9.0. UI to provide Network management, monitoring, Application deployment, Dashboard. It internally can be able to view and modify the ELIOT cluster i.e ELIOT Master and IOTGateway nodes.
- Software rolling update: To provide software rolling updates to devices, in ELIOT Master we are integrating Eclipse Hawkbit platform. Eclipse hawkBit For rolling out software updates to constrained edge devices. We are using Hawkbit container environment with latest version.
IotGateway/ Edge Node Components:
MEP:MEP Provides API Gateway to achieve the below functionalities
- aPaaS:
- Rules Engine: Drools by EdgeX foundry
- GPaaS & IoTPaaS:
- Software Rolling update: ELIOT includes Hawkbit from Eclipse community to provide software rolling update to Edge Sites / IotGateway nodes
- IOT Data store: storing data coming from IOT devices and which further IOT application can consume.
- Device Twin: device profile, configuration, metadata(cmds for devcies) etc.
- IOT Protocol: OPC-UA UA industrial IOT protocol
- Data Export: export data to Cloud applications and other on Prem applications
- Monitoring: Graphana , promethous agents to collect and display edge healths
- MEP Services:
- DNS: DNS server and DNS record management service
- Service Registry: Service registry and discovery, availability notificationsNetwork and Rules Agent: service for handling data plane traffic rules.
- AppLCM: applications life cycle management
Lightweight Kubernetes (k3s): K3s for lightweight container orchestration. K3s is a highly available, certified Kubernetes distribution designed for production workloads in unattended, resource-constrained, remote locations or inside IoT appliances.
...
ELIOT Software Components
ELIOT Master -
Hawkbit:
- Eclipse hawkBitis an domain independent back end solution for rolling out software updates to constrained edge devices as well as more powerful controllers and gateways connected to IP based networking infrastructure.
- We are using Hawkbit container environment with latest version.
IOT Portal:
ELIOT Portal is currently applicable for both IoT Gateway and uCPE Blueprint. ELIOT Portal main objective is to have a dashboard for operations and management of ELIOT Cluster. It consists of ELIOT UI and ELIOT API Gateway. Functionalities includes (Dashboard, Application Deployment, Network Management - Managing and viewing Pods, Nodes)
MECM Services:
- Front End: The MECM-FE management plane mainly provides the registration of edge nodes, APPLCM, and application distribution and deployment functions from the user interface perspective, which is divided into three functional areas. Map area provides switch between nodes in different regions. The KPI, MEP capabilities and application capabilities are displayed in detail according to the currently selected node.
- AppO: Application orchestrator is the core module responsible for orchestrating life cycle maintenance operation of application. Appo orchestrates application deployment by executing specified process and automated sequence of tasks, rules and policies. Appo is responsible for retrieving the application instance information, edgeehost performance statistics and edge host platform capabilities.
- Inventory : Responsible for registrations like MEC Host, AppLCM, AppStore, application. Retrieves all the applcm records,mec host records and applications.
- APM: Application package manager responsible for application package management including Onboarding, distributing package to edge , retrieves the application package information and download the application package csar.
- Postgres DB: Open source PostgreSQL database is being used to store the information for mecm modules ie applcm details,app instance information,application data and package information.Recommended version is 12.3.
...
- Tools: Developer tools are used in Plugin Management, Plugin Life Cycle and grading systems making it more convenient for developers to develop applications and integrate them into the edgegallery platform.
- Workspace: Developers manage their own Application development process by creating projects or migrating projects. Developers can manage project, app package and test task management.
...
- Eclipse hawkBitis an domain independent back end solution for rolling out software updates to constrained edge devices as well as more powerful controllers and gateways connected to IP based networking infrastructure.
- We are using Hawkbit container environment with latest version.
ELIOT Portal:
ELIOT Portal is currently applicable for both IoT Gateway and uCPE Blueprint. ELIOT Portal main objective is to have a dashboard for operations and management of ELIOT Cluster. It consists of ELIOT UI and ELIOT API Gateway.
Functionalities:
Dashboard, Application Deployment, Network Management - Managing and viewing Pods, Nodes
IotGateway Node Components:
MEP:
MEP Provides API Gateway to achieve the below functionalities
IOT-Gateway Node:
- aPaaS:
- Drools - Rules engine. It is a part of EdgeX foundry services. In time sensitive use cases or environment where a lot of data is being generated by the connected things, rules engine will be connected to the data coming directly out of core data which will be generated by the gateway node.
- GPaaS & IOTPaaS:
- Hawkbit: Eclipse hawkBitis an domain independent back end solution for rolling out software updates to constrained edge devices as well as more powerful controllers and gateways connected to IP based networking infrastructure.
- EdgeX: EdgeX is opensource , vendor neutral Edge IOT Middleware platform under the LF Edge umbrella. It collects data from sensors at the edge and acts as a dual transormation engine sending and receiving data to and from enterprise, cloud and on-premise applications. EdgeX enables autonomous operations and intelligence(AI) at the edge. EdgeX translates and transforms the infromation coming from ELIOT edge sites i.e from sensors and devices and delivers it to applications over network based protocols in formats and structures that meet the needs of customers. It also takes data from applications and delivers it to the iotgateway nodes to control and actuation.
- OPC-UA: OPC Unified Architecture is a machine to machine communication protocol for industrial automation developed by OPC Foundation which primarily focus on communicating with industrial equipment and systems for data collection and control. OPC-UA installed on IOTGateway node.
- Prometheus Agent: is an open-source systems monitoring and alerting toolkit. Main features include building a multidimensional data model with time series data identified by metric name and key/value pairs, PromQL to leverage monitoring, time series data collection , nodes are discovered via service discovery or static configuration. Prometheus is installed on IOT-Gateway node to collect primarily node metrics and to monitor the cluster.
- MEP Services:
- DNS: The MEP platform provides the domain name resolution services to the applications deployed in the EdgeGallery MEC, which can be utilized by the device applications in UE. MEC platform receives the DNS configurations from the MEC management, which includes the FQDN (Fully Qualified Domain Name), IP address and related entries. MEC applications can later query or modify the state of these configurations.
- MEP server: MEP platform services like service registry, discovery, DNS, traffic rules etc. MEP provides service registration, update, delete, and query related API interfaces. Applications can register, update, delete, and query services through LDVS- MEP. The service registry provides visibility of the services available on the MEC server. It uses the concept of loose coupling of services, providing flexibility in application deployment. In addition, the service registry presents service availability (status of the service) together with the related interfaces and versions. It is used by applications to discover and locate the end-points for the services they require, and to publish their own service end-point for other applications to use. The access to the service registry is controlled (authenticated and authorised).
- AppLCM: LCM controller and K8s plugin. Handles the application life cylce, where lcmController is mainly communicates with K8s plugin to upload config, remove config, instantiate, terminate,and query an application. It also provides APIs to query mep capabilities and kpi information from prometheus.
Lightweight Kubernetes ecosystem:
ELIOT is using k3s to provide lightweight kubernetes which is a highly available, certified Kubernetes distribution designed for production workloads in unattended, resource-constrained, remote locations or inside IoT appliances. K3s is packaged as a single <40MB binary that reduces the dependencies and steps needed to install, run and auto-update a production Kubernetes cluster. Both ARM64 and ARMv7 are supported with binaries and multiarch images available for both.
...
S. No. | Software Name | Category | Version Number | Remarks |
---|---|---|---|---|
1. | Ubuntu | OS | 18.04 | Supports both 16.04 and 18.04 |
2. | Docker | CRI | 19.03 | |
3. | K3S | Orchestration | 1.18.2 | |
4. | Helm | Application Package Manager | 3.0.2 | |
5. | Prometheus | Monitoring | 2.18 | |
6. | CAdvisor | Container Metrics | 0.36 | |
7. | RabbitMQ | Message Queue | 3.7 | |
11 | Postgres SQL | Database | 9.6 | |
12 | Edge Gallery | MultiAccess Edge Computing Platform | 0.9 | Opensource MEC platform |
13 | EdgeX | Edge IoT middleware platform | Edinburgh | |
14 | OPC-UA | IoT protocol framework | Geneva |
...