Nossas pessoas
Os Vencedores do Hackathon da Veriff – Lançamentos Canary
Conversamos com Siim e Kateryna, membros da equipe vencedora durante o primeiro hackathon da Veriff, que ocorreu em dezembro de 2020. Descobrimos tudo sobre a ideia vencedora deles, lançamentos canary, os benefícios que isso agora oferece à Veriff, e quais ideias eles podem ter para futuros hackathons.

A primeira Hackathon da Veriff ocorreu em dezembro de 2020, e você pode ler tudo sobre o evento online em nosso blog. Aqui, no entanto, falamos com Siim Tiilen e Kateryna Porshnieva, que foram parte da equipe vencedora que construiu ‘Canary Releases’. Perguntamos a eles tudo sobre a ideia em si, como usaram suas 48 horas e como sua apresentação conquistou os jurados.
Você pode explicar qual é a ideia por trás dos lançamentos canary? Como isso funciona?
Siim: Os lançamentos canários são uma técnica de teste de software usada para reduzir o risco de introdução de uma nova versão de software em produção. Em vez disso, gradualmente, a alteração é lançada para um pequeno subgrupo de usuários, antes de introduzi-la em toda a plataforma/infrastrutura.
Kateryna: Essa técnica foi inspirada no fato de que canários eram usados em minas de carvão para alertar os mineiros quando gases tóxicos atingiam níveis perigosos, salvando assim muitas vidas.
No desenvolvimento de software, o mesmo pode ser alcançado ao lançar uma mudança gradualmente. Funciona mostrando um novo recurso a um subconjunto de usuários primeiro e, em seguida, aumentando gradualmente o número de usuários expostos ao novo recurso. Dessa forma, podemos experimentar e inovar de maneira segura.
Na Veriff, temos uma ferramenta interna que chamamos de Deploy Manager. Isso nos ajuda a gerenciar todas as implantações em toda a infraestrutura, possui capacidades de teste e é a ferramenta que todos os engenheiros da Veriff usam diariamente, economizando tempo para todos.
Há quanto tempo a ideia de lançamentos canary existe na Veriff?
S: A teoria em si existe há tanto tempo quanto posso me lembrar, mas sempre foi algo que seria bom ter.
K: Sim, a ideia definitivamente estava por aí há muito tempo, mas como a Veriff possui uma infraestrutura muito complexa com cerca de 100 serviços, fazê-la funcionar exigiria um esforço significativo, então a ideia ficou no backlog por muito tempo.
Quanto tempo antes você planejou entregar isso neste hackathon?
S: O plano era entregar uma solução funcional ao final da hackathon e isso foi alcançado.
K: Inicialmente, queríamos ter uma solução funcional para pelo menos um caso de uso até o final da hackathon, mas nos empolgamos e fizemos 5 opções diferentes e até configuração automática.
Quem apresentou a ideia e como foi se preparar para essa apresentação?
S: Eu fiz a apresentação inicial, que foi bastante ad hoc, com a promessa de entregar uma solução funcional ao final da hackathon, se uma equipe pudesse ser formada.
K: Eu estive ajudando o Siim com o design do nosso Deploy Manager e, em algum momento, discutimos brevemente a possibilidade de adicionar um recurso de lançamentos canários ao Deploy Manager e criamos maquetes disso. Depois disso, Siim pesquisou as possibilidades e decidimos participar da hackathon com essa ideia. Siim fez a apresentação inicial e formou a equipe.
Como vocês abordaram o prazo intenso – tiveram uma estrutura ou apenas mergulharam e começaram o desenvolvimento?
S: Eu fiz algumas pesquisas antes da hackathon, então tinha um plano sólido sobre o que precisava ser implementado. Mais ou menos, formamos duas mini equipes dentro da nossa equipe da hackathon, uma para desenvolvimento backend (eu, Timofei e Dmitri) e outra para frontend (Kateryna e Annalia) – depois disso, nós mais ou menos apenas começamos a produzir código o mais rápido possível para concluir as tarefas.
K: Começamos definindo os requisitos do nosso MVP, decidindo que queríamos fazê-lo funcionar para um projeto com uma opção de configuração.

Então dividimos o trabalho entre nós. Siim estava focado no trabalho do backend, Timofei estava pesquisando as capacidades da infraestrutura, Dmitry estava fazendo pesquisa sobre diferentes suportes de configuração e Annalia e eu estávamos focados em fazer uma interface bonita.
No meio do segundo dia, conseguimos fazer um projeto com uma opção de configuração funcionar e, a partir daí, nos empolgamos em adicionar mais e mais recursos. Testamos com diferentes projetos, conduzimos entrevistas com outros engenheiros para entender melhor os casos de uso e corrigimos todos os problemas que conseguimos encontrar.
Foi definitivamente um esforço em equipe e contar com uma equipe tão incrível de pessoas dedicadas com diferentes formações foi um fator enorme para o sucesso da ideia. O que eles fizeram foi magia, conseguiram realizar algo que tinha sido estimado para levar meses de trabalho de desenvolvimento em um dia – para todos os serviços da Veriff.
Kalev mencionou em sua entrevista que os juízes ficaram impressionados com sua apresentação – como vocês a montaram?
S: Tivemos uma solução pronta no final do primeiro dia completo, então dedicamos a maior parte do segundo dia à apresentação final – Kateryna fez um trabalho realmente incrível lá, todos nós ficamos surpresos no final.
K: Nosso projeto foi o único projeto focado em engenharia na hackathon e entendemos que precisamos fazer um ótimo trabalho na apresentação para que todos compreendam o impacto do nosso trabalho.
Decidimos usar a analogia da vida real sobre o desenvolvimento de vacinas contra a Covid e como elas são testadas, e então mapear isso para Veriff e como nosso software é desenvolvido. Fizemos uma demonstração ao vivo, mostramos todos os recursos, demonstramos como funciona para todos os diferentes tipos de produtos na Veriff e explicamos diferentes usos potenciais.

O quadro branco acima mostra a estrutura da apresentação da equipe
Durante o segundo dia, realmente trabalhamos na apresentação – refinando slides, elaborando ideias e ensaiando a apresentação.
E funcionou muito bem! Honestamente, não esperávamos ganhar, mas ficamos super felizes e genuinamente surpresos quando Janer veio nos parabenizar por termos conquistado o primeiro lugar!
Em termos práticos, qual é o maior benefício dos lançamentos canary?
S: Como um exemplo prático, alguns dias depois que se tornou possível usar lançamentos canários, isso já foi utilizado por uma de nossas equipes de desenvolvimento para lançar uma grande refatoração de forma segura.
K: Queremos que a inovação seja o coração da Veriff , e os lançamentos canários nos permitem experimentar e inovar de forma segura.
Na minha própria equipe, já usamos lançamentos canary várias vezes para implementar recursos gradualmente. Também criamos um grupo de usuários dentro do nosso produto que recebe novos recursos primeiro. Dessa forma, podemos obter feedbacks precoces e iterar sem impactar todos os usuários de uma vez.
Em serviços em nuvem, como ML e automação, os lançamentos canary nos permitem lançar novos recursos aos poucos, reduzindo assim o risco de incidentes e tornando nosso produto mais estável.
Por fim, provavelmente haverá outro hackathon em breve, já têm algumas ideias?
S: Sou um verdadeiro viciado em hackathon, com cerca de 20 no currículo, mal posso esperar por uma nova. Tenho algumas ideias, mas talvez esteja mais interessado em ver as ideias de outras pessoas na próxima vez para ajudar a implementar algumas delas.
K: Na próxima vez, gostaria de participar de um projeto mais voltado para o usuário, para variar. Quando chegar a hora, tenho certeza de que haverá muitas ótimas ideias onde eu poderia aplicar minhas habilidades.