Hospede um Edge Site
A plataforma de Edge Computing da Azion conta com funções serverless que permitem a criação e o processamento de Edge Sites diretamente em nossos Edge Nodes, sem que seja necessário acessar alguma infraestrutura de origem.
Com a Edge Function Hello World, você pode criar páginas de erro ou status que podem ser utilizadas para monitorar ou informar a situação de determinado serviço, em tempo real, diretamente no Edge, com alta disponibilidade e baixa latência.
Combinado com o serviço de Data Stream da Azion, o cliente pode enviar registros dos acessos feitos ao Edge Site para seus sistemas SIEM (Security information and Event Management), Big Data ou log servers e realizar análises sobre os dados coletados.
Algumas outras vantagens de utilizar a Edge Function Hello World:
- flexibilidade para o cliente desenvolver aplicações;
- infraestrutura de Edge Nodes distribuídos para processamento de Edge Sites;
- possibilidade de executar regras de negócio no Edge.
Como funciona
O funcionamento é bem simples. Basta instanciar uma function Hello World dentro de sua Edge Application e configurar qual a resposta desejada por meio dos parâmetros que a função recebe (Args). Quando uma requisição chegar no Edge, os critérios de validação são avaliados, e, se todos os requisitos forem atendidos, a function será executada.
A seguir, para descrever o funcionamento de um Edge Site na Azion, iremos ilustrar um caso em que se deseja apresentar uma página de status com aviso de indisponibilidade temporária de um serviço (www.myapplication.com/api_service, por exemplo), construído por meio da Edge Function Hello World.
Configurando a function Hello World
Edge Function Hello World está disponível na biblioteca de functions da plataforma de Edge Computing da Azion e pode ser acessada pelo Azion Console, no menu Libraries.
Para execução da function, ela tem de ser instanciada no Edge Application em que se deseja trabalhar e ter os seus critérios de ativação e comportamentos definidos dentro do Rules Engine.
Criando uma instância
Caminho: Azion Console > Edge Computing > Edge Applications > Sua Edge Application > Functions.
A partir do Azion Console, acesse a Edge Application que irá rodar a sua function e, dentro da aba Functions, adicione uma nova, declarando um nome significativo para ela (MyHelloWorld, para ilustrar nosso exemplo).
Parâmetros: é necessário selecionar qual function usar para a sua instância; nesse caso, escolha a opção Hello World, no campo “Edge Function”. Note que o código da função aparecerá no campo Code apenas para leitura e entendimento. Na aba Args, informe o código HTTP e a mensagem de retorno desejada – vide exemplo abaixo – e salve a função.
Exemplo de configuração dos parâmetros JSON Args.
Definindo critérios de execução
Caminho: Azion Console > Edge Computing > Edge Applications > Sua Edge Application > Rules Engine.
As regras definidas no Rules Engine determinam o conjunto de condições que precisam ser atendidas para a execução dos Behaviors. Você pode utilizar a Default Rule ou criar uma nova regra a fim de configurar os parâmetros de validação e os comportamentos para execução de sua function pela Edge Application.
Definindo critérios de validação (criteria): escolha as variáveis, operadores de comparação e strings para construção de sua regra de negócio, como no exemplo a seguir:
- If:
${uri}
starts with /api_service (na sequência: operador lógico, variável, operador de comparação, string)
Aqui a regra é executada se a URI acessada iniciar com a string “/api_service”.
Definindo comportamentos (behaviors): adicione os comportamentos que deseja executar caso as condições da regra sejam satisfeitas. Exemplo:
- Then: Run Function MyHelloWorld (na sequência: operador lógico, ação, função)
Nesse exemplo, se as condições definidas nas regras forem satisfeitas, então será executada a function MyHelloWorld. Assim sendo, quando um usuário acessar a URL “www.myapplication.com/api_service”, a function será executada e a mensagem configurada, exibida.
Por fim, salve a sua Edge Application e esta já estará pronta para executar a nova function.