Construa regras dinâmicas para sites estáticos com Azion Edge Application

Edite no GitHub

Edge Application é um serviço que permite ao cliente construir suas aplicações web para serem executadas na plataforma de Edge Computing da Azion. Ele provê uma série de recursos e funcionalidades como Edge Caching, Edge Functions e Network para criação de regras de negócio na borda, tais como manipulação de Cookies, Redirects, Match groups, Testes A/B, entre outros.

Com isso, é possível implementar regras dinâmicas em páginas estáticas que serão processadas e entregues diretamente em nossos Edge Nodes. Landing pages, error pages, sites institucionais ou de campanhas são alguns exemplos de páginas que podem ser construídas a partir dessa abordagem.

Algumas outras vantagens de utilizar o serviço Edge Application:

  • flexibilidade para o cliente desenvolver aplicações;
  • consulta a informações de acessos em tempo real (Real Time Events); e
  • possibilidade de combinar lógicas de segurança para disponibilidade, mitigação de bots e autenticação, por meio do serviço Edge Firewall.

Como funciona

Quando uma Edge Application é configurada para seu website, a entrega do conteúdo e o processamento das regras de negócio ficam a cargo da Azion. Assim, quando uma requisição ao site chegar a algum dos Edge Nodes da Azion, o motor de regras da Edge Application irá tratar a requisição e entregar o conteúdo de acordo com as configurações estabelecidas.

Primeiramente, é necessário definir uma Origem para o site (infraestrutura local ou serviço de cloud storage, em nuvem), de onde os arquivos serão consultados pela Edge Application.

A seguir, configuram-se as regras de negócio que devem ser executadas utilizando-se os módulos disponíveis:

  • Application Acceleration: acelera o desempenho de aplicações e APIs otimizando os protocolos, construindo regras avançadas de request e response;
  • Edge Caching: módulo padrão para todas as suas Edge Applications na Azion. Reduz a latência e tem alta taxa de transferência por meio da Edge network global e altamente distribuída da Azion;
  • Edge Functions: módulo que permite ao cliente programar suas próprias Edge Functions para serem executadas no Edge da Azion;
  • Image Processor: automatiza o tratamento das imagens em seu workflow, permitindo redimensionar, recortar e aplicar filtros em grandes volumes de imagens;
  • Load Balancer: módulo que permite balancear o tráfego para suas origens.

Por fim, para que o Edge Site possa ser acessado pelos usuários, um Domain deve ser criado e associado à Edge Application.

Como é publicado o site da Azion?

Nosso portal (https://www.azion.com) é publicado a partir de um processo automatizado de integração com o GitHub, composto basicamente por três elementos: um repositório no GitHub para controlar a versão do site, um repositório (Origem) em um cloud storage e uma Edge Application na Azion executando todas as regras de negócio e de segurança.

Os conteúdos do site são publicados via automação com o GitHub, que por sua vez propaga as alterações para o bucket dos arquivos, o qual está configurado dentro de uma Edge Application da Azion. Desse modo, quando alguma página do portal é acessada, é a Edge Application que trata a requisição e entrega o conteúdo solicitado.

A seguir veremos um exemplo de configuração de um Edge Site com Edge Application da Azion.

Configurando um Edge Application

Caminho: Real-Time Manager > Edge Computing > Edge Applications

No Real-Time Manager (RTM), acesse o menu Edge Application, clique no botão “Add Application”, informe um nome significativo de sua escolha e proceda às demais configurações como segue:

Origem: na seção Main Settings, em Origins, informe o endereço do seu repositório no campo Address, e, no campo Host Header, digite a variável ${host} para informar o cabeçalho do host que deve ser passado para o repositório. Preencha as demais informações e clique em Save. Obs.: se o repositório exigir autenticação HMAC, marque a opção “HMAC” e preencha os campos adicionais com os dados repassados pelo fornecedor do seu serviço.

Application Acceleration: módulo que habilita as configurações de Rules Engine necessárias. Na aba Main Settings, habilite a opção Application Acceleration e clique em Save.

Rules Engine: é onde são configurados os critérios de validação (Criteria) e os comportamentos (Behavior) que a Edge Application deve executar. Acesse a aba Rules Engine e clique em “New Rule”, opção “Request Phase”, e defina os critérios de validação e comportamentos desejados.

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} matches \/$ (na sequência: operador lógico, variável, operador de comparação, string) Aqui a regra é executada exclusivamente para a página raiz do site (tal como https://www.azion.com/).

Definindo comportamentos (behaviors): adicione os comportamentos que deseja executar caso as condições da regra sejam satisfeitas. Exemplo:

  • Then: Rewrite Request ”${uri}index.html” (na sequência: operador lógico, ação, função)

Nesse exemplo, se as condições definidas nas regras forem satisfeitas, então será feito um rewrite para a página de index do site. Clique em Save para salvar suas alterações.

Configurando um Domínio

Caminho: Real-Time Manager > Edge Computing > Domains

Por fim, para que o Edge Site possa ser acessado pelos usuários, é necessária ainda a configuração de um Domain vinculado à Edge Application criada anteriormente.

Acessando o menu Domain, clique no botão “Add Domain” e informe um nome de sua escolha, apenas para identificação. Por padrão, um certificado da Azion é pré-selecionado – é o que utilizaremos em nosso exemplo.

Deixe o campo CNAMEs em branco, selecione a Edge Application criada anteriormente para associá-la ao domínio, e clique em Save. Note que, na tela a seguir, aparecerá uma lista com os domínios cadastrados. A informação contida na coluna Domain Name é o nome do domínio criado pela Azion (algo semelhante a 12345t.ha.azioncdn.net), e é por meio dele que o Edge Site de teste será acessado.


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