Canary Release vs Feature Flags
Det er en deployment-strategi, der bruges til at minimere risikoen.
| Canary Release | Feature Flags | |
|---|---|---|
| Definition | En Canary Release er en deployment-strategi, der anvendes i softwareudvikling for at reducere risikoen ved at rulle den nye version ud til en lille brugergruppe først. | Feature Flags, også kendt som Feature Toggles, er en teknik, der gør det muligt for udviklere at aktivere eller deaktivere bestemte funktionaliteter i en softwareapplikation uden at ændre kodebasen. |
| Categories | DevOps, deployment, release, risks | A/B Testning, CD, CI, udvikling |
Hvad er en Canary Release?
Det er en deployment-strategi, der bruges til at minimere risikoen.
Definition
En Canary Release er en deployment-strategi, der anvendes i softwareudvikling for at reducere risikoen ved at rulle den nye version ud til en lille brugergruppe først.
Oprindelse
Navnet stammer fra minerarbejdere, der bar en kanariefugl i et bur ned i kulminer. Hvis giftige gasser lækkede ind i minen, ville kanariefuglen dø, før minerne gjorde det.
Overvågning
Systemet overvåges nøje for problemer, og hvis den nye version fungerer godt, frigives den gradvist til flere brugere.
Rollback
Hvis der opdages problemer, kan release rulles tilbage, og den gamle version genindføres for alle brugere.
Udvælgelse
Forskellige strategier bruges til at vælge, hvilke brugere der vil blive udsat for den nye version, såsom tilfældig udvælgelse eller udvælgelse baseret på demografi.
Hvad er en Feature Flag?
Det er en teknik, der gør det muligt at aktivere eller deaktivere funktionaliteter.
Definition
Feature Flags, også kendt som Feature Toggles, er en teknik, der gør det muligt for udviklere at aktivere eller deaktivere bestemte funktionaliteter i en softwareapplikation uden at ændre kodebasen.
Implementering
De kan implementeres ved hjælp af boolske værdier i konfigurationsfiler, der betinget tjekkes for at bestemme, om en funktionalitet skal være synlig og aktiv eller ej.
Brugssituationer
De bruges i Continuous Deployment (CD) tilgange, Canary Releases, A/B Testning og til at administrere synligheden af funktionaliteter for forskellige brugersegmenter.
Fordele
Feature Flags giver mulighed for en sikrere og mere effektiv udvikling, da teams kan implementere og teste nye funktioner uden at påvirke hele brugerbasen.
Vækst
Brugen af Feature Flags er vokset i popularitet med stigningen af Agile, DevOps og kontinuerlig levering i softwareudvikling.
Konfiguration
De kan defineres ved hjælp af en service som Bullet Train eller Launch Darkly, ved at oprette en brugerdefineret backend service, eller ved at bruge lokale filer i applikationen.