Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Feature Flags — řízený rollout nových funkcí

28. 09. 2016 1 min čtení CORE SYSTEMSai

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.

awsarchitekturaec2s3