Libraryour peopleLos Ganadores del Hackathon de Veriff - Lanzamientos Canary

Los Ganadores del Hackathon de Veriff - Lanzamientos Canary

Hablamos con Siim y Kateryna, miembros del equipo ganador durante el primer hackathon de Veriff que tuvo lugar en diciembre de 2020. Descubrimos todo sobre su idea ganadora, los lanzamientos canary, los beneficios que ahora ofrece a Veriff y qué ideas podrían tener para futuros hackathons.

Header image
Patrick Johnson
January 29, 2021
Nuestra gente
Veriff
Share:

El primer Hackathon de Veriff tuvo lugar en diciembre de 2020, y puedes leer todo sobre el evento en línea en otro lugar de nuestro blog. Aquí, sin embargo, hablamos con Siim Tiilen y Kateryna Porshnieva, que fueron parte del equipo ganador, que creó 'Lanzamientos Canary'. Les preguntamos todo sobre la idea en sí, cómo utilizaron sus 48 horas y cómo su presentación convenció a los jueces

¿Puedes explicar cuál es la idea detrás de los lanzamientos canary? ¿Cómo funciona?

Siim: Los lanzamientos canary son una técnica de prueba de software que se utiliza para reducir el riesgo de introducir una nueva versión del software en producción. En su lugar, se despliega gradualmente el cambio a un pequeño subgrupo de usuarios, antes de presentarlo a toda la plataforma/infraestructura.

Kateryna: Esta técnica se inspiró en el hecho de que se usaban canarios en las minas de carbón para alertar a los mineros cuando los gases tóxicos alcanzaban niveles peligrosos, salvando así muchas vidas

En el desarrollo de software, se puede lograr lo mismo al implementar un cambio de manera gradual. Funciona mostrando una nueva característica primero a un subconjunto de usuarios y luego aumentando gradualmente el número de usuarios expuestos a la nueva característica. De esta manera, podemos experimentar e innovar de manera segura.

En Veriff, tenemos una herramienta interna que llamamos el Gestor de Implementaciones. Nos ayuda a gestionar todas las implementaciones en toda la infraestructura, tiene capacidades de prueba y es la herramienta que todos los ingenieros en Veriff utilizan diariamente, ahorrando a todos mucho tiempo

¿Cuánto tiempo ha estado la idea de los lanzamientos canary en Veriff?

S: La teoría misma ha estado presente desde que tengo memoria, pero siempre ha sido algo que sería bueno tener.

K: Sí, la idea definitivamente estuvo presente durante mucho tiempo, pero dado que Veriff tiene una infraestructura muy compleja con alrededor de 100 servicios, hacer que funcione requeriría un esfuerzo significativo, así que la idea se mantuvo en la lista de tareas pendientes durante mucho tiempo

¿Cuánto tiempo planearon para entregarla en este hackathon?

S: El plan era entregar una solución funcional al final del hackathon y esto se logró

K: Inicialmente queríamos tener una solución funcional para al menos un caso de uso al final del hackathon, pero nos emocionamos y hicimos 5 opciones diferentes e incluso configuración automática.

¿Quién lo presentó y cómo fue preparar esa presentación?

S: Hice la presentación inicial, que fue bastante ad hoc, con la promesa de entregar una solución funcional al final del hackathon si se podía formar un equipo

K: He estado ayudando a Siim con el diseño de nuestro Gestor de Implementaciones y en algún momento discutimos brevemente la posibilidad de agregar una característica de lanzamientos canary al gestor de implementaciones y creamos maquetas de ello. Después de eso, Siim investigó las posibilidades y decidimos unirnos al hackathon con esta idea. Siim hizo la presentación inicial y formó el equipo.

¿Cómo abordaron el corto marco de tiempo? ¿Tenían una estructura o simplemente se lanzaron a desarrollar?

S: Hice algunas investigaciones antes del hackathon, así que tenía un plan bastante sólido sobre lo que necesitaba implementarse. Más o menos formamos dos mini equipos dentro de nuestro equipo del hackathon, uno para el desarrollo de backend (yo, Timofei y Dmitri) y el otro para frontend (Kateryna y Annalia); después de eso, más o menos comenzamos a producir código tan rápido como fuera posible para completar las tareas

K: Comenzamos definiendo nuestros requisitos de MVP, decidiendo que queríamos que funcionara para un proyecto con una opción de configuración

Luego dividimos el trabajo entre nosotros. Siim se centró en el trabajo de backend, Timofei investigó las capacidades de infraestructura, Dmitri hizo investigación sobre soporte de diferentes configuraciones y Annalia y yo nos enfocamos en crear un diseño atractivo y bonito.

A mediados del segundo día, logramos que un proyecto con una opción de configuración funcionara y desde allí nos emocionamos agregando más y más características. Probamos con diferentes proyectos, realizamos entrevistas con otros ingenieros para comprender mejor los casos de uso y solucionamos todos los problemas que pudimos encontrar

Definitivamente fue un esfuerzo de equipo y tener un equipo tan increíble de personas dedicadas con diferentes antecedentes fue un gran factor para hacer que la idea funcionara. Lo que hicieron los chicos fue magia, lograron hacer algo que se había estimado que tomaría meses de trabajo de desarrollo en un día - para todos los servicios de Veriff.

Kalev mencionó en su entrevista que los jueces quedaron impresionados por su presentación. ¿Cómo la prepararon?

S: Teníamos una solución lista al final del primer día completo, así que dedicamos la mayor parte del segundo día a la presentación final; Kateryna hizo un trabajo realmente impresionante allí, todos quedamos sorprendidos al final.

K: Nuestro proyecto fue el único enfocado en ingeniería en el hackathon y entendimos que teníamos que hacer un muy buen trabajo en la presentación para que todos entendieran el impacto de nuestro trabajo.

Decidimos usar la analogía del mundo real del desarrollo de vacunas Covid y cómo se prueban, y luego mapeamos esto a Veriff y cómo se desarrolla nuestro software. Hicimos una demostración en vivo, mostramos todas las características, demostramos cómo funciona para todos los diferentes tipos de productos en Veriff y explicamos diferentes usos potenciales.

La estructura de la presentación para el proyecto de lanzamientos canary

La pizarra de arriba muestra la estructura de la presentación del equipo

Durante el segundo día realmente trabajamos en la presentación: puliendo las diapositivas, redondeando ideas y ensayando la presentación.

¡Y realmente funcionó! Honestamente, no esperábamos ganar, ¡pero estábamos súper felices y genuinamente sorprendidos cuando Janer vino a felicitarnos por ocupar el primer lugar!

En términos prácticos, ¿cuál es el principal beneficio de los lanzamientos canary?

S: Como ejemplo práctico, unos días después de que se hizo posible utilizar lanzamientos canary, ya se utilizó por uno de nuestros equipos de desarrollo para lanzar una importante reestructuración de manera segura

K: Queremos que la innovación sea el latido del corazón de Veriff, y los lanzamientos canary nos permiten experimentar e innovar de manera segura

En mi propio equipo, ya hemos utilizado lanzamientos canary múltiples veces para implementar características de manera gradual. Además, creamos un grupo de usuarios dentro de nuestro producto que reciben nuevas características primero. De esta manera, podemos obtener retroalimentación temprana y hacer iteraciones sin afectar a todos los usuarios a la vez.

En servicios en la nube, como ML y automatización, los lanzamientos canary nos permiten implementar nuevas características poco a poco, reduciendo así el riesgo de incidentes y haciendo nuestro producto más estable.

Finalmente, probablemente habrá otro hackathon más pronto que tarde, ¿tienes alguna idea ya?

S: Soy un adicto total a los hackathons, con alrededor de 20 en mi vida, no puedo esperar a uno nuevo. Tengo algunas ideas, pero quizás esté más interesado en ver ideas de otros la próxima vez para ayudar a implementar algunas de esas

K: La próxima vez me gustaría participar con un proyecto más orientado al usuario por un cambio. Cuando llegue el momento, estoy seguro de que habrá muchas grandes ideas donde podría aplicar mis habilidades.

¿Interesado en una carrera con Veriff? Aprende más aquí.