3.1 Canary Release
Canary release é uma técnica utilizada para reduzir o risco de introduzir uma nova versão de software em ambiente de produção, lançando lentamente a mudança para um pequeno grupo de usuários antes de lançá-lo para toda a infra-estrutura e disponibilizá-lo para todos.

Preparando nossa aplicação
Vamos lançar uma nova versão da nossa aplicação e aplicar a técnica de Canary Release. Para isso, vamos criar um branch no git contendo nosso código mais novo.
Clone o seu repositório no terminal:
Em seguida, execute:

Agora vamos editar o arquivo e alterar a versão da nossa aplicação para 3.0 conforme abaixo:

Quando finalizado, podemos agora fazer o commit e push para nosso repositório.
Se fizemos tudo certo, em nosso Github deve existir um novo branch:

Crie uma nova app usando a versão do Branch 3.0 que acabamos de criar usando o comando oc
e em seguida crie uma rota:
Quando tudo finalizar, teremos 2 versões da nossa aplicação rodando no Openshift.

Se abrirmos o link da primeira versão temos:

E se abrirmos o link da última versão que criamos:

A URL de acesso da primeira versão é a única que nossos usuários conhecem e portanto é nela que iremos fazer a separação da quantidade de acesso.

Vamos configurar para que a versão 3.0 tenha somente 10% dos acessos enquanto a versão 1.0 terá 90%.
Clique em Applications -> Routes
Na tabela, seleciona a rota de nome workshop-ocp
No menu superior direito clique em Actions -> Edit
Selecione o campo Split traffic across multiple services
Arraste a barra para que o fique somente 10% para o workshop-ocp-v3

E altere os valores conforme figura abaixo:

Assim que salvarmos, o Openshift irá mostrar uma tela com as configurações que escolhemos.

E também na tela inicial temos um aviso que o acesso está sendo divido.

Testando a divisão de acesso na nossa aplicação
Para testarmos que realmente 90% do acesso está indo para versão 1.0 e 10% para v3.0, vamos usar um comando do shell:
Esse comando irá executar um curl na sua aplicaçao em cada 1s.
Altere a url acima de acordo com a sua aplicação.
Perceba que a cada 10 requisições para nossa aplicação, 1 é enviada para a versão 3.0.

Last updated