Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Construindo releases confiáveis com o uso de Ca...

Construindo releases confiáveis com o uso de Canary Release.

O canary release é uma abordagem para disponibilizar uma funcionalidade de maneira gradual e reduzir riscos de possíveis problemas em produção.Esta abordagem pode ser uma grande aliada para disponibilizar versões de software sem causar grandes impactos e ainda assim manter a disponibilidade. Nesta palestra vamos compartilhar como realizamos testes mais confiáveis e como tivemos um feedback mais rápido de que as funcionalidades vão funcionar integradas.Além disso, vamos compartilhar aprendizados do time de como foi realizada a estratégia de monitoramento e rollback que mitigou possíveis bugs ao utilizar Canary Release.

Juliana Fernandes

August 20, 2018

Transcript

16 slides
  1. "Oferecer as melhores opções de pagamento a nossos passageiros em

    múltiplos canais de vendas, através de uma plataforma de pagamentos, escalável, evolutiva e robusta."
  2. • Abordagem para disponibilizar uma funcionalidade de maneira gradual •

    Lançamento gradual para uma pequena parte do conjunto de usuários antes de implantá-la em toda a infraestrutura e torná-la acessível a todos. • É também conhecida como lançamento em fases (phased rollout) ou lançamento incremental (incremental rollout).
  3. • Utilizar ambas versões em paralelo • Direcionar porcentagem do

    novo fluxo por Toggle de maneira gradual • Monitoramento • Testar com 100% novo fluxo por um tempo • Inativar o serviço anterior (KCC) • Apagar código da implementação anterior(simplificar lógica)
  4. Solução proposta Frontend Plataforma de pagamento Provedor 1 Provedor 2

    Provedor 3 Provedor KCC Provedor TLS (Novo serviço) Provedor TLS (Novo serviço) Externos
  5. Monitoramento • Feedback rápido sobre a nova integração • Obter

    métricas sobre qual o impacto da nova versão no ambiente de produção • Testar com 100% novo fluxo por um tempo • Inativar o serviço V1
  6. Solução final Frontend Plataforma de pagamento Provedor 1 Provedor 2

    Provedor 3 Provedor TLS (Novo serviço) Provedor TLS (Novo serviço) Externos
  7. Benefícios a abordagem trouxe ao time • Confiança do time

    para habilitar nova versão em produção • Possibilidade de voltar a utilizar a versão antiga do software • Rápido feedback sem muito impacto à versão que está em produção

More Decks by Juliana Fernandes

Other Decks in Technology