Spring GDS 25è Aniversari
Una empresa de logística que envia a 190 països va construir alguna cosa per enviar-se a si mateixa.
Un feature flag, també anomenat feature toggle, és una manera d'activar o desactivar funcionalitat en una aplicació en marxa sense desplegar codi nou. La funció viu en el codi, embolcallada en una comprovació condicional contra el valor d'un flag. Aquest interruptor decideix si els usuaris la veuen. La idea és separar el desplegar codi del publicar una funció, dos actes que tradicionalment passaven en el mateix moment.
Un cop existeix aquesta separació, el control esdevé precís. El codi pot estar en producció, plenament desplegat, mentre la funció roman oculta fins que està a punt. Després pot sortir per a tothom, per a un subconjunt com testers interns o el cinc per cent dels usuaris, o apagar-se a l'instant si alguna cosa es trenca. Un equip que llança un nou checkout pot dirigir el deu per cent del trànsit cap a ell, observar els números i revertir en segons sense un sol redesplegament. Això és el que impulsa els desplegaments graduals, els tests A/B i els llançaments canary, i és pràctica estàndard en equips que despleguen moltes vegades al dia.
Els flags també tenen un cost. Cada interruptor que es queda en el codi després de complir la seva funció es converteix en deute tècnic, i afegeix branques i complexitat en silenci. Els equips sans tracten la neteja de flags com a part de la feina, no com una cosa secundària, perquè el codi no s'ompli a poc a poc d'interruptors morts.
Els flags són com publiquem sense contenir la respiració. Posar una funció nova darrere d'un interruptor significa que podem llançar el codi, validar-lo amb trànsit real i ampliar el desplegament només quan les dades ho avalen. Si alguna cosa va malament, l'arranjament és un interruptor, no un desplegament d'emergència a mitjanit.
Encaixen de manera natural en la nostra feina d'entrega contínua, on desplegar sovint i publicar amb cura són dues decisions diferents. També fixem expectatives aviat amb els clients: un flag té una vida útil, i el retirem un cop la funció està plenament publicada. Això manté el codi net i el procés de publicació tranquil.
Vols publicar funcions sense apostar tot el producte en cada desplegament? Anem a muntar-ho.
Una empresa de logística que envia a 190 països va construir alguna cosa per enviar-se a si mateixa.
Convertir una marca en un negoci que funciona.
Mig milió de persones. Una app. Zero caos.















