Versions Compared

Key

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

...

There are limited built-in metrics available about an edge node, its host, and workloads.  Traditional approaches include data aggregation in the cloud or some other central data lake, streaming logs to a remote host, or surfacing them at the origin so they can be queried on the edge node by a remote operator logging in.  Each of those approaches has drawbacks and are not edge native.

...

This Feature Design candidate will deliver a functioning end-to-end example and documentation demonstrating how to deliver and configure an open-source version of AnyLogEdgeLake.  This code will deliver and connect a data collection and querying network consisting of a master node, a query node, and two or more operator nodes.  

Future iterations may include a version using non-containerized node agents, and a script that installs and integrates the open-source version of AnyLog EdgeLake beside an All-in-One Open Horizon deployment instance in similar fashion to how FDO is integrated.

The Platform Functionality - Extending Open Horizon as a Platform:

AnyLog EdgeLake extends the Open Horizon functionality delivered to the edge as a platform:

...

The Node Functionality - Extending the functionalities of nodes deployed by Open Horizon:

  AnyLog EdgeLake extends the Open Horizon functionality delivered to the individual nodes by using the platform functionality such that:

...

KubeArmor running on the edge node provides visibility and protection for all the processes, files, or network operations in the containers as well as those running directly on the host.  See KubeArmor integration repo.  In this feature, KubeArmor (when present) can transmit (define how) collected metrics to the AnyLog EdgeLake code running on the Node.

...

Are there any ways to optionally extend the CLI when components are installed?  If not, they we should avoid this.

The lower level AnyLog EdgeLake functionality is enabled by a CLI, this can extend the hzn CLI.
AnyLog EdgeLake CLI includes dynamic help with links to help pages on GitHub - all of that can be available as an extension of the hzn CLI.

...

  • Nodes in the AnyLog network are configured such that commands and queries can be provided using REST. Therefore it is simple to integrate to existing and new applications without dependencies on existing infrastructure or setups.
  • Because of the decentralization nature of the AnyLog Network - any node or application can act as a point of access to the entire data set and the monitored status of all the member nodes.
  • AnyLog EdgeLake provides a web GUI that is optimized to the AnyLog API calls and data queries. It only requires a browser, can be installed on any node and can serve as a monitoring tool for network managers and as a training tool for administrators and developers showing how to interact with nodes in the network.

...

<Describe any new or changed interactions with components that are not the agent or the management hub.>

Installing the Anylog EdgeLake agent on an edge node should provide metrics collection and surfacing.

...

<Describe any related security aspects of the solution. Think about security of components interacting with each other, users interacting with the system, components interacting with external systems, permissions of users or components>

Ideally, the Anylog component should The EdgeLake component does not need root-level access.  – That is correct. 

The Anylog EdgeLake component maintains its own P2P network. – That is correct.

An AnyLog EdgeLake node can be deployed with and without security layers. If enabled - the AnyLog protocol is using keys and the blockchain to authenticate users and their permissions. The network can issue certificates to 3rd parties applications that authenticate the apps and users and determine their permissions.

...

<Describe and new/changed/deprecated APIs, including before and after snippets for clarity. Include which components or users will use the APIs.>

Link to Anylog EdgeLake docs.

  • Each AnyLog EdgeLake instance includes a CLI option.
  • Data monitored can be generated by AnyLog EdgeLake existing functionalities. For example, disk space, memory usage, networking status, cpu state, processes running etc. are build-in functionalities that can be leverage on each node. Additional details are in the Monitor Nodes document.
  • Southbound Connectors are detailed in the Adding Data document (including services to present a node as a broker for pub-sub of a data,  to subscribe to a third party broker, to receive data via REST).
  • Northbound connectors are based on SQL and AnyLog CLI commands that are transferred to the network using REST. 

AnyLog EdgeLake documentation:

...

Will be done using Open Horizon (we had a prototype Open Horizon + AnyLog EdgeLake working).

A detailed Docker based deployment training is available with this link.

...

  • Document deployment with Open Horizon.
  • AnyLog EdgeLake CLI extending the Open Horizon CLI.

Rahul Jadhav : Can we please add the documentation for all the possible ways in which the data can be ingested in to AnyLogEdgeLake? CC: Moshe Shadmon 

Test

<Summarize new automated tests that need to be added in support of this feature, and describe any special test requirements that you can foresee.>

...