Construa regras dinâmicas para sites estáticos com Azion Edge Application
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.