Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ELIOT is a 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.

The edge layer which this blueprint targets is the Telco Edge

Below are the high-level features which this blueprint will go on to implement in phase-wise.

  • Lightweight MEP IOT-Gateway Solution
  • Autonomous MEP Edge Sites. 
  • Unified Portal for platform management and for App developers.
  • Sandbox with SDKs and tools chains for MEC IOT app developers
  • Heterogeneous deployment on Multi-Arch. 
  • ETSI MEC Compliant.
  • Software Rolling update to edge sites and IOT devices
  • Interoperability between the devices and applications at the IOT Edge
  • IOT protocol support like OPC-UA
  • Industrial IOT enabling by TSN etc.
  • Middle ware for IOT-Framework like EdgeX 

Use Case

Many diverse business applications require a converged IoT gateway. In this use case, the plan is to support the following scenarios:

...

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:

a 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).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 OS.

Platform Architecture

The below diagram gives a overall architecture of the ELIOT IoT Gateway blueprint as given in Release 4. 

Image RemovedImage Added

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. 

MECM Components:

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:

  • PortalDashboard: The dashboard provides user interface for the mecm 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 query mep capabilities and kpi information from prometheus and also upload config, remove config, instantiate, terminate,and query an application.
  • Orchestrator: Provides application orchestration based on static/ dynamic host selection.
  • Inventory: Maintains system level view of all Edges, including edge capabilities, deployed applications and their status etc.
  • Scheduler: Responsible for Host Selection: Repsonbile for selection of host for deployment.
  • CatalogPackage ManagerCatalog displays the deatils of on hosts and applications.Maintains and manages application packages and is responsible of pushing images to edges. 
  • Common DB: Persistent Database.

...

  • Portal: Portal provides the user interface to publish and launch App applications. and has option for user to comment on the application in comment section and give ratings.
  • Appstore Services (App Distribution, App Experience): App Store services where uploading an App package and verifies the upload. Also provides features like comment/like for user experience sharing.
  • Repository PGDB : Open source PostgreSQL database is being used to store the information, Recommended version is 12.3.

Developer Platform:

  • 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
    • CNI: k8s based networking for multi interface support in a POD for SFC scenarios, network policies etc.
  • MEP ServerMEP Services:
    • DNS: DNS server and DNS record management service
    • Service Registry: Service registry and discovery, availability notifications
    • Network and Rules Agent: service for handling data plane traffic rules.
    • AppLCM: applications life cycle management
    • Network Isolation:  Provides separation of control, management and data plan
  • API Gateway: Provides secure End points for MEP services as well as producer Applications.

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.

...

The below image shows the software platform distribution and architecture for Release 4.0.

Image RemovedImage Added


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 orchestra tor is the core module responsible for orchestrating life cycle maintenance operation of application. Appo AppO orchestrates application deployment by executing specified process and automated sequence of tasks, rules and policies. Appo AppO is responsible for retrieving the application instance information, edgeehost edge host performance statistics and edge host platform capabilities.
  • Inventory : Responsible for registrations like MEC Host, AppLCM, AppStore, application. Retrieves all the applcm APPLCM records, mec MEC host records and applications.
  • APM: Application package manager responsible for application package management including OnboardingOn boarding, distributing package to edge , retrieves the application package information and download the application package csarCSAR.
  • 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.modules specific information.

AppStore:

  • Front End: AppStore is a market for developers to publish and launch App applications. Appstore FE provides the registration interface to the new user and once login the store home is visible, where user can upload the application package across various industry domains and displays the list of application along with the deatilsdetails. User has option to comment on the application in comment section and give ratings. Deleting option is also available in "My App/My APP" section.
  • Appstore Backend: AppStore is a market for developers to publish and launch App applications. After uploading an App package, it must pass the test first. Only the apps that pass the test can be officially launched.
  • Postgres DB: The AppStore database uses an open source PostgreSQL database, and the recommended version is 12.2. Which Stores app information, application package information and review details of the application.

Developer Platform:

  • 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 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.

 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.

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:

 

IOT-Gateway Node:MEP Provides API Gateway to achieve the below functionalities

  • 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.


Below are details of Upstream and Opensource software's used in various nodes of ELIOT Environment.

OCD Node

S. No.

Software Name

Category

Version Number

Remarks

1.

Ubuntu

OS18.04

Supports both 16.04  and 18.04

2.GITVersion Control2.17.1
3.AnsibleScripting Tool> 2.5
4.GoLangLanguage1.14+
5.KubeSprayTool2.13

...

S. No.

Software Name

Category

Version Number

Remarks

1.UbuntuOS18.04Supports both 16.04 and 18.04
2.DockerCRI19.03
3.K3SK3sOrchestration1.18.2
4.Helm

Application Package Manager

3.0.2
5.PrometheusMonitoring2.18
6.CAdvisorContainer Metrics0.36
7.RabbitMQMessage Queue3.7
11Postgres SQLDatabase9.6
12Edge GalleryMultiAccess Edge Computing Platform0.9Opensource MEC platform
13EdgeX Edge IoT middleware platformEdinburgh
14OPC-UAIoT protocol frameworkGeneva

...

Gerrit Repo : ELIOT IotGateway Gerrit Repo


Alignment with EdgeX community

Below table is to capture information and alignment with EdgeX community for better collaboration.

SI.No.AttributesELIOTEdegXRemarks
EdgeX versionEdinburghHanoi

Till ELIOT Rel4 plan, EdgeX was not providing K8s based deployment so used older version.

In next ELIOT release analyse and update latest EdgeX version if it support K8s based deployment

2.API versionV1V2Once EdgeX version updated, API page will be updated for latest V2 APIs
3.New components and services supported OPC-UA
Analyse EdgeX and support new features in next release
4.gaps and requirementELIOT use K8s based orchestration, but earlier EdgeX was providing Docker compose based services.
Analyse latest EdgeX release and see whether supported K8s based deployment.
5. New features

Keep track with EdgeX community

Licensing

  • GNU/common license