
69
3
장
점진적 변화 엔지니어링
해 자주 쓰이는 기법이다. 코드에 일정한 조건을 추가한 다음, 두 구현 (신규 및 기존 )을 전환
할 때 특정 기능을 활성화 또는 비활성하는 기능이다. 기능 토글을 구현하는 가장 간단한 수단
은 조건문 코드다.
If
문으로 환경 변수나 설정을 검사하고 해당 값에 따라 특정 기능을 표시하
거나 숨길 수 있다. 조금 더 복잡하지만, 런타임 시점에 설정값을 읽고 특정 기능을 활성화 또
는 비활성화하는 방식도 있다. 기능 토글 방식으로 코드를 구현하면 개발자는 변경 사항을 사
용자에게 미리 노출할 걱정 없이 프로덕션에 신기능을 안전하게 배포할 수 있다. 실제로 지속
적 배포를 수행하는 많은 팀은 기능 토글을 활용해 신기능 운영 시점과 소비자 릴리스 시점을
분리하고 있다.
프로덕션 QA
기능 토글로 신기능을 빌드하는 관행은 프로덕션에서
QA
작업을 수행한다는 유익한 부작용을 낳는다. 탐색
테스트를 프로덕션 환경에서 실행한다는 발상을 떠올리지 못하는 회사가 많다. 대부분의 기능 토글 프레임워
크는
IP
주소, 액세스 제어 목록
access
control
list
(
ACL
) 등의 다양한 기준에 따라 사용자를 라우팅할 수 있다. 따라
서 팀이 기능 토글 개발에 익숙해지면 신기능을 프로덕션에 배포하고
QA
부서만 접근하도록 제어할 수 있
다. 이러한 ...