Edge Services

Edite no GitHub

O Azion Edge Services é um módulo do produto Edge Orchestrator que permite o gerenciamento de serviços orquestrados em sua própria infraestrutura Edge, habilitando o cadastro de recursos e demais configurações via Real-Time Manager e a criação e customização de serviços para que possam ser orquestrados nos Edge Nodes definidos.

Configure os gatilhos de instalação, desinstalação e recarregamento e defina as dependências entre os recursos necessários para a execução de seu serviço na sua rede Edge.

  1. Como funciona
  2. Passo a passo para a criação de um Edge Service
  3. Documentação de suporte

1. Como funciona

Ao utilizar a Azion como sua plataforma de Edge, você pode criar e customizar serviços para serem executados na sua rede Edge privada e híbrida. O Azion Edge Services funciona por meio de gatilhos para instalação, desinstalação e recarregamento, com definição das dependências entre os recursos, e implementa nativamente um conjunto de funcionalidades da Azion, como Edge Applications, Edge Firewalls e Edge Functions, utilizando como base a tecnologia de Azion Cells da Azion. Dessa forma, permite construir Edge Applications para uma grande variedade de casos de uso, que variam desde uma CDN de alta escala e qualidade até a hospedagem de aplicações web, aplicações de AI, VR e muitas outras. Para isso, ative o Azion Cells e defina os Edge Nodes que devem receber determinadas aplicações, tudo controlado pelo painel de controle ou APIs, em uma interface centralizada e com diferentes controles de acesso.

Resources

Para a orquestração dos serviços no seu device, você deve configurar os resources necessários para a instalação, desinstalação e recarregamento dos serviços.

Um resource do tipo Shell Script indica que o recurso será instalado e executado conforme a trigger selecionada. O agente do Edge Orchestrator utiliza o sh-bang informado no cabeçalho do conteúdo para a execução do script; na ausência de um, é utilizado o shell compatível com o padrão POSIX no dispositivo (/bin/sh).

Um resource do tipo Text indica que o conteúdo será copiado como plain/text para o dispositivo. Resources do tipo Text normalmente são utilizados para arquivos de configuração.

Todos os recursos são executados a partir do caminho informado no cadastro. O campo Path é referente ao caminho absoluto do arquivo. Portanto, são aceitos apenas diretórios iniciados e finalizados com “/”. Caminhos que iniciem com “.”, “..” ou “~” não serão aceitos e não são compatíveis.

Ao informar o conteúdo do seu resource, ele pode conter um script, quando executado como Shell Script, ou conteúdo de arquivos de configurações para o resource, quando do tipo Text. Ambos são compatíveis com a utilização de variáveis, se acrescentada a tag “{{ VARNAME }}”.

É possível utilizar variáveis no conteúdo dos resources utilizando a tag “{{ VARNAME }}”. Por exemplo:
port = {{ PORT_HTTP }}

Além das variáveis definidas, você também pode usar os Facts que são as informações disponíveis em seu node. Os Facts podem ser usados caso você prefira usar uma multiplataforma. Os Facts disponíveis são:

Fact Descrição Valor Observação
CLIENT_VERSION Versão do Edge Orchestrator agent MAJOR.MINOR.PATCH Exemplo: 1.10.3, onde 1 é MAJOR, 10 é MINOR e 3 é PATCH.
ARCH Arquitetura do processador ARM ou; AMD (x86), ambos com 32 ou 64 bits  
OS_NAME Nome do Sistema Operacional macOS; Linux; FreeBSD; OpenBSD; DragonFlyBSD; NetBSD ou; Solaris  
OS_DISTRO Nome da distribuição do Sistema Operacional, apenas para sistemas baseados em Linux NAME + RELEASE NAME: Debian; Ubuntu; openSUSE; Mint Linux; Gentoo; Fedora; CentOS; Arch Linux ou; Kali Linux

RELEASE: primeiramente obtendo via LSB Release, caso não exista busca em
/etc/os-release o valor de VERSION_ID ou DISTRIB_RELEASE

No caso dos demais Sistemas Operacionais o valor será sempre vazio.
OS_VERSION Versão do sistema operacional, apenas para MacOS MAJOR.MINOR Exemplo: 10.5. Para demais Sistemas Operacionais será sempre vazio
CPUS Número de CPUs disponíveis INTEGER Exemplo: 1, 2, 4.
RAM_SIZE Memória total do sistema BYTES Exemplo: 1048576

Assim como as variáveis, os facts podem ser usados em recursos usando a tag {{ FACT_NAME }}. Por exemplo: {{ CLIENT_VERSION }}.

Triggers

Ao configurar resources do tipo Shell Script, é necessário definir quais serão os gatilhos (triggers) que farão com que o recurso seja executado.

Os gatilhos são: “Install”, “Reload” e “Uninstall”, tendo cada uma deles uma função e ordem de execução:

1) Install: é o primeiro a ser executado e deve ter em seu conteúdo o script necessário para a instalação do serviço.

2) Reload: quando configurado, será executado ao final da instalação de todos os resources e também sempre que houver alteração nos vínculos entre Edge Service e Edge Node - por exemplo, uma alteração nos valores de variáveis.

3) Uninstall: é executado toda vez que o vínculo entre Edge Services e Edge Node é desfeito, ou seja, sempre que o serviço for apagado dos Edge Nodes nos quais está provisionado.

Variables

As variáveis são valores dinâmicos que afetam os Edge Services que serão orquestrados e executados nos Edge Nodes. Ou seja, é possível orquestrar e executar o mesmo serviço em devices diferentes, com valores distintos para as configurações - por exemplo, configurar um serviço na porta 3306 em um dispositivo, e na porta 3307 em outro dispositivo.

Facts

Facts são informações técnicas como: arquitetura, versão do cliente, sistema operacional e versão do sistema operacional. Esses valores não podem ser substituídos, apenas usados.

Vínculo ao Edge Node

Todos os serviços cadastrados podem ser orquestrados e executados em um ou mais Edge Nodes existentes na sua rede privada.

Apenas os serviços ativos estarão disponíveis para orquestração no Edge Node; após o seu vínculo, você pode alterar o valor das variáveis existentes, apagar ou adicionar novos serviços ao dispositivo.


2. Passo a Passo para criar um Edge Service

1- Acesse o Real-Time Manager;

2- Acesse o item Edge Libraries no menu superior esquerdo e selecione a página Edge Services;

3- Clique no botão Add Service.

Observação: seu serviço será criado automaticamente. Você pode alterar o nome do serviço clicando em My New Service, na barra de identificação;

4- Clique em Add Resource na listagem de resources;

5- Configure os resources necessários para o seu serviço utilizando as triggers: “Install”, “Reload” e “Uninstall”;

6- Opcional: caso tenha utilizado variáveis no conteúdo de um ou mais resources, defina os valores padrões para as variáveis na aba Environment.

Observação: as variáveis devem seguir o padrão “Variável = Valor”. “Variável” deve ter sido utilizada em conteúdos de resources já cadastrados;

7- Ative o serviço e clique no botão Save.

Pronto! Agora seu serviço pode ser utilizado em um ou mais edge nodes.


3. Documentação de suporte


Não encontrou o que procurava? Abra um ticket.