ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Feature Flags (기능 플래그, 기능 토글)
    개발/기타 개발 이야기 2024. 6. 9. 01:01
    반응형

     

    최근 업무에서 Feature Flags 혹은 Feature Toggles (이하 기능 토글)라고 불리는 방식을 도입했다.

    기능 토글은 새로운 코드를 배포하지 않아도 특정 기능을 켜고 끌 수 있는 기술을 말한다.

     

    기능 토글을 쓰면..

    1. 서버를 유지한 상태로 기능을 키고 끌 수 있다.

    2. 기존에는 기능 배포를 위해 반드시 코드 변경과 배포가 수반되어야 했다. 이렇게 되면 배포 관련 지식을 가진 개발자가 반드시 개입되어야한다. 그러나 기능 토글은 훨씬 간단하므로 개발자가 아니더라도 쉽게 키고 끌 수 있다.

    3. 프로덕션 환경에 새로운 기능을 좀 더 부담없이 배포할 수 있다. 문제시 바로 꺼버리면 되니까..

    4. 기본적으로 On, Off 값을 가지는데, 일부 소수 유저 (랜덤한 10%에게만이라던지) 에게만 새로운 기능을 노출한 다음 그 범위를 차차 확장해나감으로써 보다 안전하게 배포가 가능하다. (카나리 릴리스)

    5. On, Off 이외에도 다양한 Variants를 설정할 수 있어서 여러 경로를 동시에 푸시하고, 일부 유저에게는 기능 A, 일부 유저는 기능 B를 노출하는 식으로 활용할 수 있다.

    6. 여러 경우의 수를 설정함으로써 실험이나 A/B테스트를 수행할 수 있다.

    7. 기타 등등의 장점..

     

    자사에서는 Amplitude라는 Digital Analysis tool 을 자사 앱 데이터 분석에 쓰고 있었는데,

    기능 토글 도입을 위한 조사 중 Amplitude에도 기능 토글 기능이 있다는 걸 알게 되면서 이것을 쓰기로 했다.

    이후 자사의 앱, 관리자패널, 백엔드에 모두 기능 토글의 기본 토대 작업을 완료하여

    동료들이 쉽게 꺼내 쓸 수 있도록 툴을 준비해놓았다.

     

    Amplitude

     

    반응형

    댓글

Designed by Tistory.