Feature Flags vs Canary Release
Het is een techniek die het mogelijk maakt om functionaliteiten in of uit te schakelen.
| Feature Flags | Canary Release | |
|---|---|---|
| Definition | Feature Flags, ook wel Feature Toggles genoemd, zijn een techniek die ontwikkelaars in staat stelt om bepaalde functionaliteiten in een softwaretoepassing in of uit te schakelen zonder de broncode te wijzigen. | Canary Release is een implementatiestrategie die wordt gebruikt in softwareontwikkeling om het risico van het uitrollen van een nieuwe versie te verminderen, door deze eerst aan een klein subset van gebruikers vrij te geven. |
| Categories | CD, CI, Test A/B, ontwikkeling | DevOps, implementatie, release, risico's |
Wat is een Feature Flag?
Het is een techniek die het mogelijk maakt om functionaliteiten in of uit te schakelen.
Definitie
Feature Flags, ook wel Feature Toggles genoemd, zijn een techniek die ontwikkelaars in staat stelt om bepaalde functionaliteiten in een softwaretoepassing in of uit te schakelen zonder de broncode te wijzigen.
Implementatie
Ze kunnen worden geïmplementeerd met behulp van booleaanse waarden in configuratiebestanden die voorwaardelijk worden gecontroleerd om te bepalen of een functionaliteit zichtbaar en actief moet zijn.
Toepassingsgevallen
Ze worden gebruikt in Continuous Deployment (CD), Canary Release, Test A/B en om de zichtbaarheid van functionaliteiten voor verschillende gebruikerssegmenten te beheren.
Voordelen
Feature Flags maken een veiliger en efficiënter ontwikkelproces mogelijk, doordat teams nieuwe functionaliteiten kunnen implementeren en testen zonder de hele gebruikersbasis te beïnvloeden.
Groei
Het gebruik van Feature Flags is populair geworden met de opkomst van Agile, DevOps en continuous delivery praktijken in softwareontwikkeling.
Configuratie
Ze kunnen worden gedefinieerd met een service zoals Bullet Train of Launch Darkly, een aangepaste backendservice creëren of lokale bestanden binnen de applicatie gebruiken.
Wat is een Canary Release?
Het is een implementatiestrategie die wordt gebruikt om het risico te verminderen.
Definitie
Canary Release is een implementatiestrategie die wordt gebruikt in softwareontwikkeling om het risico van het uitrollen van een nieuwe versie te verminderen, door deze eerst aan een klein subset van gebruikers vrij te geven.
Oorsprong
De naam komt van de mijnwerkers die een kanarie in een kooi meebrachten in de kolenmijnen. Als giftige gassen in de mijnen ontsnapten, stierf de kanarie eerder dan de mijnwerkers.
Monitoring
Het systeem wordt zorgvuldig gemonitord op zoek naar problemen, en als de nieuwe versie goed werkt, wordt deze geleidelijk aan meer gebruikers vrijgegeven.
Rollback
Als er problemen worden gedetecteerd, kan de release worden teruggedraaid en wordt de oude versie hersteld voor alle gebruikers.
Selectie
Er worden verschillende strategieën gebruikt om te bepalen welke gebruikers de nieuwe versie als eerste zullen ontvangen, zoals willekeurige steekproeven of demografische selectie.