DevOps
Feature Flag
다른 이름: 기능 플래그 , Feature Toggle
정의
코드에 조건문을 두어 특정 기능을 런타임에 켜고 끌 수 있게 하는 기법. 배포와 출시를 분리하여 미완성 기능을 main 브랜치에 병합 가능. A/B 테스트, 점진적 출시, 긴급 기능 비활성화에 활용
상세 설명
실무 활용
- A/B 테스트: 일부 사용자에게만 새 기능 공개
- 점진적 출시: 단계별 기능 활성화
- 긴급 차단: 재배포 없이 기능 비활성화
- PR 크기 축소: 미완성 코드를 안전하게 병합
장점
- PR 크기 축소 가능
- 배포와 출시 분리
- 긴급 롤백 불필요
- A/B 테스트 용이
단점 및 제약
- 플래그 누적 시 기술 부채
- 테스트 복잡도 증가
- 코드 가독성 저하 가능