-
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에도 기능 토글 기능이 있다는 걸 알게 되면서 이것을 쓰기로 했다.
이후 자사의 앱, 관리자패널, 백엔드에 모두 기능 토글의 기본 토대 작업을 완료하여
동료들이 쉽게 꺼내 쓸 수 있도록 툴을 준비해놓았다.
반응형'개발 > 기타 개발 이야기' 카테고리의 다른 글
[Tidy First - 소프트웨어 설계] 00. Tidy First? (0) 2024.06.12 자바스크립트 Shallow copy vs Deep copy (1) 2024.01.27 CORS 정책 관련 참고글 (1) 2024.01.22 카오스 몽키 (Chaos monkey) (0) 2022.07.31