The purpose of the document is to describe the nature and operation of the edgeEngine Runtime.
The intended readers of this document are software developers, system engineers, application architects, deployment personnel and other technical professionals who want to understand the details of working with edgeEngine Runtime.
After reading this document you will:
In order to get full benefit from reading this document, you need to have:
The edgeEngine Runtime is a binary file that can be installed on a variety of computing devices such as a desktop computer, laptop computer or Internet of Things device (IoT). for example, an embedded system or a cable television set-top box. Also, you can install the edgeEngine Runtime on a mobile device such as cell phone or mobile tablet.
The edgeEngine Runtime will run on any device that has an operating system that the runtime supports. The following list describes the operating systems supported by the edgeEngine Runtime
The edgeEngine Runtime serves an intermediary between the host operating system and the code running a edgeEngine microservice. (See Figure 1, below.)
When a computing device has the edgeEngine Runtime installed that computing device is deemed to be a node within an edge Service Mesh cluster.
The benefits of using the edgeEngine Runtime are as follows.
As mentioned above, creating an edgeEngine node requires installing the edgeEngine Runtime on a specific device. The particular steps for installing the edgeEngine Runtime on a computing device are described in the tutorial, Creating Your First Microservice found in the Tutorials section of this Developer Portal documentation.
Registering an edgeEngine node to a of devices running the edgeEngine Runtime is done automatically when installing the edgeEngine Runtime on a particular computing device.
However, additional steps are required in order to associate a node running the edgeEngine Runtime with a particular mimik/edgeEngine user account. This association is done using the mimik Command Line Tool to create an Access Token from within a node running the edgeEngine Runtime. An Access Token binds the edgeEngine node to a particular user account.
The conceptual details about an Access Token are covered in the Key Concept document, Understanding edgeEngine Tokens. The instructions for using the mimik Command Line Tool to create an Access Token that binds an edgeEngine node to a user account and thus grants access to the edgeEngine API and other edgeEngine nodes are described in the Tutorial, Creating Your First Microservice .
As mentioned previously, once the edgeEngine Runtime is up and running on an edge computing device, developers can deploy an edge microservice on the particular device. Deploying a microservice on a device running the edgeEngine Runtime requires understanding edgeEngine Images and edgeEngine Containers.
The details of edgeEngine Images and edgeEngine Containers are covered in the Key Concepts document, Understanding edgeEngine Images and edgeEngine Containers.
In short, developers wanting to make a microservice that runs on the edgeEngine Runtime will create a custom Node.js project that has the code for the logic of the particular microservice. This custom Node.JS is called an edgeEngine Image.
You can think of the edgeEngine Image defined in the Node.js project as a template from which the edgeEngine container is created. Developers use the mimik Command Line Tool to execute the command set mimik-edge-cli image deploy to create the .tar file that represents the particular edgeEngine container.
mimik-edge-cli image deploy
The container's .tar file has a microservice of interest. You'll use the mimik Command Line Tool to execute the command set mimik-edge-cli container deploy to deploy and run the container's microservice on the given edgeEngine node.
mimik-edge-cli container deploy
The thing to keep in mind with regard to the edgeEngine Runtime is that, as mentioned previously, everything you need to run your microservice is provided by the runtime. The microservice's logic is programmed in a custom Node.JS project.
The edgeEngine Runtime provides the HTTP web server upon which your RESTful microservice will run. Also, the edgeEngine Runtime provides access to the edgeEngine Service Mesh, which in turn allows your code to discover and user other microservices running on different nodes in the .
In effect, the edgeEngine Runtime provides a serverless computing environment for running microservices.