Nová funkce je hotová, ale product owner chce rollout jen pro 10 % uživatelů. Bez feature flags to znamená branch, merge hell, dva deployment pipeline. S feature flags to je jeden if v kódu a config change.
Co jsou feature flags¶
Podmínka v kódu, která aktivuje nebo deaktivuje funkci. Toggle se spravuje externě — config soubor, databáze, dedikovaný service. Kód jde do produkce, ale funkce je „vypnutá” dokud ji nezapnete.
if (featureFlags.isEnabled("new-dashboard", currentUser)) {
return renderNewDashboard();
} else {
return renderOldDashboard();
}
Use cases¶
- Canary release: Zapnout pro 5 % uživatelů, sledovat metriky
- A/B testing: Varianta A vs. B, měření konverze
- Kill switch: Okamžité vypnutí problematické funkce
- Trunk-based development: Všichni pracují na main, WIP za flagem
Správa technického dluhu¶
Feature flags jsou technický dluh. Když je funkce stabilně zapnutá pro všechny, odstraňte flag a starý kód. Jinak skončíte se stovkami mrtvých podmínek. Pravidlo: flag starší než 30 dnů = ticket na odstranění.
Feature flags mění deployment kulturu¶
Deploy ≠ release. Kód jde do produkce kontinuálně, funkce se aktivují kontrolovaně. Méně stresu, více kontroly, rychlejší iterace.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns