1 of 20
2 of 20
3 of 20
4 of 20
5 of 20
6 of 20
7 of 20
8 of 20
9 of 20
10 of 20
11 of 20
12 of 20
13 of 20
14 of 20
15 of 20
16 of 20
17 of 20
18 of 20
19 of 20
20 of 20

site

doc

blog

success stories

Edge Services

Edit on GitHub

Azion Edge Services is an Edge Orchestrator product module that allows orchestrated services to be managed in your own nodes, enabling the resources registration and other configurations via Real-Time Manager and the services creation and customization so that they can be orchestrated on the defined Edge Nodes.

You can configure the install, uninstall, and reload triggers and define the dependencies between the resources needed to run your service on your Edge network.

  1. How it works
  2. Creating an Edge Service Step by Step
  3. Supporting documentation

1. How it works

By using Azion as your Edge platform, you can create and customize services to run on private and hybrid edge network. Azion Edge Services operates using triggers to install, uninstall and reload. It defines dependencies between resources and natively implements a set of Azion functions, such as Edge Applications, Edge Firewalls and Edge Functions, using Azion Cells technology from Azion as its basis.

This way, you can build Edge Applications for a wide variety of uses, ranging from a high scale and quality CDN to hosting web applications, AI applications, VR and many others. To do so, you have to activate Azion Cells and define the Edge Nodes that should host certain applications, all controlled by the Azion dashboard or APIs, in a centralized interface and with different access controls.

Resources

In order to be able to orchestrate services on your device, you need to configure all the resources needed to install, uninstall and reload your services.

A Text type resource indicates that the content will be copied as plain text to the device. These resource types are typically used for configuration files.

A Shell Script type resource indicates that the resource will be installed and run according to the selected trigger. The Edge Orchestrator agent uses the sh-bang entered in the content header for script execution; in the absence of one, the POSIX-compliant shell on the device (/bin/sh) is used.

Both resource types are compatible with the use of variables and facts, as long as the tag “{{ VARNAME }}” or “{{ FACT_NAME }}” is included.

All resources are executed using the Path referred during the registration. The Path field refers to the absolute path of the directory. Relative paths will not be accepted and are not supported.

There are some special predefined variables that, as facts, cannot be overwritten. See the list in the table below:

Variables

Variables are dynamic values that affect the Edge Services that will be orchestrated and run on Edge Nodes. In other words, it is possible to orchestrate and run the same service, on different devices, with different values for the settings, such as configuring a service on port 3306 on one device, and on port 3307 on another device.

Variables can be used in the resource content if the tag “{{VARNAME }}” is used. For example:
port = {{ PORT_HTTP }}

Variable Description Value Note
CHANGESET_RM_PATH It contains a path to a file that provides a list of paths to all files that have been removed or modified in the current manifest. STRING It is only available while the manifest is being applied. Each line has a unique path.
CHANGESET_ADD_PATH It contains a path to a file that provides a list of paths to all files that have been added or modified in the current manifest. STRING It is only available while the manifest is being applied. Each line has a unique path.

Facts

In addition to the defined variables, you can also use Facts which are available technical information about your node, such as architecture, client version, operating system and operating system version. You can use these, for example, if you are setting up multiple nodes.

These values cannot be overwritten and can be used in resources using the {{ FACT_NAME }} tag. For example:
{{CLIENT_VERSION}}.

Facts Description Value Notes
CLIENT_VERSION Edge Orchestrator agent version MAJOR.MINOR.PATCH For example: 1.10.3, where 1 is MAJOR, 10 is MINOR and 3 is PATCH
ARCH Processor architecture ARM or; AMD (x86), both with 32 or 64 bits  
OS_NAME Operating System distribution name macOS; Linux; FreeBSD; OpenBSD; DragonFlyBSD; NetBSD; or Solaris  
OS_DISTRO Operating System distribution name, only for systems based on Linux NAME + RELEASE NAME: Debian; Ubuntu; openSUSE; Mint Linux; Gentoo; Fedora; CentOS; Arch Linux or; Kali Linux

RELEASE: first obtaining via LSB Release, if there is no search in /etc/os-release the value of VERSION_ID or DISTRIB_RELEASE

In the case of other Operating Systems the value will always be empty.
OS_VERSION Version of the operating system, only for MacOS MAJOR.MINOR Example: 10.5. For other Operating Systems it will always be empty.
CPUS Number of CPUs available INTEGER Example: 1, 2, 4.
RAM_SIZE Total system memory BYTES Example: 1048576

Triggers

When configuring Shell Script type resources, you need to define which triggers will cause the resource to run.

The triggers are “Install”, “Reload” and “Uninstall” and each has a function and order of execution:

1) Install: this is the first to be run and must include the script needed to install the service.

2) Reload: when configured, this will be run at the end of the installation of all the resources and also whenever there is any change to the links between the Edge Service and Edge Node, such as a change to the values of the variables.

3) Uninstall: this is run every time the link between the Edge Services and Edge Node is broken. That means, whenever the service is deleted from the Edge Nodes for which it was provisioned.

All registered services can be orchestrated and run on one or more Edge Nodes on your private network.

Only active services will be available for orchestration on the Edge Node and, after it has been linked, you can change the value of existing variables or delete or add new services to the device.


2. Creating an Edge Service Step by Step

1- Go to Real-Time Manager;

2- On the top left menu, select Edge Libraries > Edge Services;

3- Click on the Add Service button;

Note: your service will be created automatically. You can change the name of the service by clicking on My New Service in the name bar.

4- Go to the Resources tab and click on Add Resource ;

5- Configure the resources you need for your service, using the triggers: “Install”, “Reload” and “Uninstall”;

6- Optional: where you have used variables in the content of one or more resources, you can set the default values for them in the Environment tab.

Note: The variables must be in the format “Variable = Value”, where “Variable” has been used in the content of resources that are already registered.

7- Activate the service and click on the Save button;

Done! Now your service can use one or more edge nodes.


3. Supporting documentation


Didn’t find what you were looking for? Open a support ticket.