Eclipse ioFog

Primary tabs

The Eclipse ioFog set of technologies is a fog computing layer that can be installed on any hardware running Linux. Once installed, it provides a universal runtime for microservices to run on the edge. In addition to a common runtime, ioFog also provides a set of useful services including a message bus, dynamic configuration of the microservices, and remote debugging.

Automated interconnection of ioFog instances is provided by the ComSat component. This relieves developers from writing code just to move data from one place to another.

Orchestration and management of microservices (the edge software) is provided by the ioAuthoring application and the ioFog instances receive their instructions through the fabric controller.

Working together, these components provide a full set of technologies for building and running IoT software the executes wherever the developer chooses.

 

In greater detail, the fog computing layer is comprised of the following:

1. A fog computing software agent that runs on various operating systems and provides a universal runtime for IoT microservices. This is called "ioFog".
 

2. A fog computing node controller that runs on popular Linux distributions and gives dynamic instruction to the ioFog instances. It has an API that allows for various tooling to be built for controlling the fog computing fabric. This is called "Fabric Controller".
 
3. An internetworking utility that runs on popular Linux distributions and provides a way for ioFog instances to interconnect, even through private network layers and firewalls. This is called "ComSat".
 
4. A design-time interface for creating, saving, editing, and deploying microservices schemas that are called "tracks". It runs on popular Linux distributions and uses the Fabric Controller API to do its work. This is called "ioAuthoring".
 
5. Software Development Kits (SDKs) in multiple programming languages that provide developers with the convenience of programming against objects instead of using the native REST API that exists within the ioFog.
 

6. A local software development tool that mimics the fog computing runtime and gives developers a way to test their code against simulated situations before making the effort to package their code as a microservice. This is called "Test Message Generator".

The ioFabric component architecture