#13 An experiment gone wrong
Manage episode 313269701 series 3264488
Quelle interface choisir pour les utilisateurs de mon site ? Le nouveau système de recommandation de mon application a-t-il un impact ? Pour qui ?
Un test AB permet de comparer deux variantes afin d’identifier la plus efficace pour l’objectif recherché. Aujourd’hui, je reçois Cyril De Catheu, Data Engineer @ AB Tasty pour discuter des dessous d’une plateforme d'expérimentations 🧑🔬
Pour collecter les événements des sites clients (e.g., clic sur tel bouton, de telle couleur, etc.) et les faire parvenir à la plateforme d’AB Tasty, c’est tout un système de message queuing qui est nécessaire.
Dans cette chaîne de traitement, Cyril identifie une optimisation qui permettrait de simplifier l’architecture et d’économiser quelques centaines de dollars.
Quelques jours plus tard, la CyberWeek. Alors que certains sites clients d’AB Tasty voient leur activité multipliée par deux, les coûts liés au service pub/sub explosent 📈 💸
Cyril garde la tête froide et mène l’enquête. Il dispose d'un outil de choix pour élucider ce mystère, la wayback machine. Let's get back in time ⏱ 👩🚀
Resources
- A/B Testing, Wikipedia
- Wayback machine, la "Machine à remonter le temps" de l'Internet. https://web.archive.org/
- La recommendation de Cyril: The Data Engineering Podcast, pour des éclairages sur la mise en production de chaînes de traitements de données https://www.dataengineeringpodcast.com/about/
Glossaire
- ack: du verbe anglais “to acknowledge” - littéralement “accuser réception de”. Utilisé en event processing pour qualifier le fait qu’un process accuse réception d’un message. Pratique dans une architecture distribuée où la perte de messages via le réseau est possible et l’on veut s’assurer une certaine sémantique sur le traitement d’un message (le message a été traité au moins une fois, ou exactement une fois). Pour une introduction plus poussée sur sur le stream processing et ses challenges, je recommande le Chapter 11: Stream Processing de l’ouvrage de référence: Kleppmann, M. (2017). Designing Data-Intensive Applications. O’Reilly Media.
Credits
- L'extrait audio à 21'40" est issu du film Kung Fury, https://youtu.be/bS5P_LAqiVg?t=599
Chapters
1. Qu'est ce qu'un test A/B ? (00:00:00)
2. Composants d'une plateforme d'expérimentations (00:04:15)
3. Volumétrie: événements et sessions (00:05:57)
4. Architecture - Design pub/sub (00:08:40)
5. Zoom sur Dataflow (00:10:56)
6. Une idée d'optimisation... (00:13:30)
7. ...Mais des coûts qui explosent (00:17:20)
8. Egoless programming (00:19:55)
9. Hack the time - Wayback machine (00:21:34)
10. Résolution - Quels fix ? (00:23:25)
11. The curse of never breaking systems (00:25:30)
12. Reco & wrap-up (00:27:48)
26 episodes