Como configurar a integração Azion A/B Testing

A/B Testing é uma integração serverless baseada em uma edge function, disponível no Marketplace da Azion.

Essa função permite que a distribuição do acesso a diferentes cenários seja melhor controlada durante a sua execução, identificando assim as variantes mais bem-sucedidas.

Alguns outros benefícios de usar A/B ⁠Testing incluem:

  1. Criação de várias variantes (A, B, C e muitas mais).
  2. Variação do fluxo do tráfego.
  3. Combinação de regras de teste com regras de negócios (WAF, proteção contra bots e muito mais).
  4. Melhorias na experiência dos usuários: com a integração A/B Testing rodando no edge, quando comparada com outras integrações que usam JavaScript para realizar testes A/B, o tempo de carregamento de uma página não é afetado; pelo contrário, é significativamente mais rápido.

Como funciona a integração A/B Testing

Seção intitulada Como funciona a integracao A/B Testing

As configurações de teste são definidas na função usando parâmetros no formato JSON, chamados Arguments. Os Arguments listam atributos relacionados a cada versão sendo testada; tais como probabilidade, valor do cookie e outros.

O algoritmo da função distribui a requisição de acordo com uma probabilidade definida quando chega a um dos edge nodes de Azion. Em seguida, ele define o cookie com o tempo de expiração e os valores especificados para cada variável.

A partir desse ponto, todo o tráfego do cliente que fez a solicitação é redirecionado para a versão selecionada. Quando uma nova solicitação é feita por outro cliente, um cookie é definido e todo o tráfego é redirecionado para esta versão (ou para outra, de acordo com a probabilidade passada nos parâmetros).

Assim, a partir deste ponto, todo o tráfego deste cliente é redirecionado para esta versão.

O edge node encaminha a consulta para o aplicativo de origem, que retorna o conteúdo da página de teste, e o conteúdo é entregue ao usuário no edge.


Configurar a integração A/B Testing

Seção intitulada Configurar a integracao A/B Testing

A/B ⁠Testing está disponível no Marketplace da Azion e pode ser acessada através do Azion Console no Products menu > Marketplace.

Você pode se aprofundar mais em como instalar e configurar a integração A/B Testing da Azion lendo o guia Como utilizar a integração A/B testing através do Marketplace da Azion.


Exemplo de configuração para a integração A/B Testing

Seção intitulada Exemplo de configuracao para a integracao A/B Testing

Abaixo, você pode ver um exemplo de um arquivo de configuração JSON de uma função A/B Testing básica. Observe que, neste caso em particular, está sendo mantida uma probabilidade de 90% (0,9) para a primeira variante e 10% (0,1) para a segunda.

A soma das duas probabilidades deve ser sempre 1.

{
"param": {
"cookie": {
"name": "MYABTEST_NAME__",
"expiration": "Wed, 04 May 2021 10:16:00 GMT",
"max_age": 600,
"domain": "localhost",
"path": "/"
},
"a": {
"cookie_value": "A_VARIANT",
"prob": 0.9,
"addresses_list": "www.mytest_ab_of_my_site.com:443",
"originid": "uuid1",
"live_ingest": false,
"protocol_policy": "https",
"path": "",
"cache_key": "test_a",
"host": "localhost"
},
"b": {
"cookie_value": "B_VARIANT",
"prob": 0.1,
"addresses_list": "www.mytest_ab_of_my_site.com:2010",
"originid": "uuid2",
"live_ingest": false,
"protocol_policy": "https",
"path": "",
"cache_key": "test_b",
"host": "localhost"
}
}
}

O conjunto de condições que devem ser atendidas para que os behaviors (comportamentos) sejam executados é determinado pelas regras do Rules Engine. Você pode usar a Default Rule se quiser executar sua função sem passar nenhum elemento condicional, ou criar uma nova regra para passar as condições de execução de sua função.

Definição dos criteria (critérios) de validação

Seção intitulada Definicao dos criteria (criterios) de validacao

Escolha as variáveis, operadores de comparação e strings para criar sua regra de negócios, como no exemplo a seguir:

  • If: ${uri} is equal /home

Lógica: operador lógico, variável, operador de comparação, string.

Esta regra é executada se a URL acessada for igual à string mypagetotest.com/home.

Definição de behaviors de validação

Seção intitulada Definicao de behaviors de validacao

Adicione os behaviors (comportamentos) que você deseja que sejam executados quando as condições da regra forem cumpridas, como no exemplo a seguir:

Then: Run Function e escolha MyABTestFunction

Lógica: operador lógico, ação, função.

Neste exemplo, se as condições definidas nas regras forem satisfeitas, a função MyMassiveRedirect será executada.

Finalmente, salve sua edge application e a sua função estará pronta.


Contribuidores