Aquest divendres a la nit vaig poder anar al concert de la gira de Fermín Muguruza, al Palau Sant Jordi. Brutal! Un molt bon ambient recordant mítiques cançons de Kortatu, Negu Gorriak i de la seva etapa en solitari. Una experiència per reviure l’essència d’aquests himnes que han marcat generacions.
A nivell tècnic, m’he continuat barallant amb els server-sent events de la setmana anterior, ara provant amb la tecnologia gevent per evitar emplenar la cua de peticions. Encara queda feina, però sembla que anem pel bon camí.
Començo amb algunes recomanacions,
💾 Programari
Blackxandy: Un sistema per tenir la teva pròpia música guardada i reproduir-la en streaming, com si fos un Spotify personal per al teu catàleg.
🤔 Curiositats
Trio: Un sintetitzador de cant a través del navegador. A veure si aconsegueixes crear alguna cançó!
📦 Recursos
Guia per crear tutorials de programari clars i útils, amb regles per fer-los pràctics i fàcils d’entendre: Rules for Software Tutorials.
🌟 El concepte
En l’anterior número vaig parlar del concepte de l’Strangler Fig, una tècnica que permet embolcallar una part més antiga del codi per anar fent una transició de funcionalitats fins que aquesta és substituïda completament. Avui vull parlar-te del shadow testing.
El shadow testing és una metodologia que ens permet validar una nova funcionalitat o sistema sense afectar directament a l’experiència de les persones usuàries finals. Funciona executant el nou sistema en paral·lel al sistema actual, capturant els mateixos inputs i comparant els resultats de tots dos. Això facilita identificar discrepàncies i validar que el nou sistema es comporta tal com s’espera, sense riscos d’afectar el sistema en producció.
Aquesta tècnica es complementa de manera molt natural amb el patró Strangler Fig. Mentre que l’Strangler Fig se centra en substituir progressivament components del sistema antic amb els nous, el shadow testing es pot utilitzar com a pas previ abans d’iniciar aquest procés de substitució. Abans d’integrar un nou component, pots utilitzar shadow testing per assegurar-te que el sistema nou genera els mateixos resultats que l’actual en totes les situacions previstes. D’aquesta manera, quan finalment comencis a substituir funcionalitats amb el patró Strangler Fig, tens la confiança que la migració serà més segura.
Un altre aspecte important del shadow testing és que permet detectar diferències subtils entre el comportament esperat i el real, com ara variacions en el rendiment o desviacions en casos límit. Això ajuda a afinar el nou sistema abans que es posi en producció, reduint possibles problemes i garantint una transició més fluida.
Per implementar aquesta metodologia de manera eficient, pots utilitzar eines com Laboratory, una llibreria feta amb Python basada en l’eina Scientist de GitHub. Scientist és una eina que va ser creada per GitHub per facilitar el shadow testing en grans sistemes, i al seu article oficial expliquen amb detall com utilitzen aquesta funcionalitat per garantir transicions segures i fiables en aplicacions crítiques.
💖 Feedback
Si t’ha agradat i em vols ajudar, fes arribar aquest contingut a qui creguis que li pot interessar, i entra al canal de Telegram per comentar la publicació.