DevOps/CI CD

feature flag(toggle)

dhsimpson 2022. 12. 12. 23:14

1. 개념

 

배포 된 서비스의 기능(feature) 사용 여부를 toggle 시켜주는 기능(or서비스) 이다.

 

단순히 feature 를 toggle 하는 것에 더해, AB test 를 더 간편하게 하도록 만드는 활용도 가능하다

 

 

2. 예시

 

11번가 여행 서비스를 예로 들자면,

'국내숙박 검색' 영역 중 '상세조건' 필터링 기능에 '가격대' 필터 기능이 있다.

 

이 필터에서 버그가 발생한 경우, 서비스를 재배포 하지 않고 해당 기능(feature) 를 사용하지 않도록 토글하면

재배포에 걸리는 시간 및 revert, 다시 merge( & pr) 하는 데 드는 수고를 덜 수 있을 것이다.

 

토글상태 : ON 토글상태 : OFF

 

3. TBD(Trunck Based Development) 와 함께 사용 

 

master 브랜치에서 직접 개발하는 TBD 의 경우에 특정 feature 를 사용하지 않도록 하려면 git revert 를 시켜야 하는데,

 

굳이 revert 하지 않고 feature flag 서비스로 사용하지 않도록 토글만 시켜준다면 편할 것이라 생각 된다.

 

 

4. 사용 방법

 

1. json, configMap 등을 이용

 

2. 서비스를 이용

 

 

ex) unleash 에선 아래의 다양한 기능을 가진 feature flag 서비스를 제공한다.

feature toggle
Gradual Rollout
AB test

 

 

참고 :