이렇게 좋은 기능이 있었다고? 배포할 때 아직도 기도하며 밤샘 모니터링 하는 당신께 워라밸 지킴이, 기능 플래그를 소개합니다.
본 포스팅은 <하루 한번 이상 배포하는 팀의 비밀, 기능 플래그>의 시리즈 중 2부 입니다.
1부. 이렇게 좋은 기능이 있었다고? 기능 플래그를 소개 합니다.
2부. 기능 플래그로 점진 출시하기
3부. 기능 플래그로 원하는 타겟에게만 출시하기
1편에 이어 기능 플래그가 어떻게 개발자의 정신건강에 도움을 줄 수 있는지 알아보도록 하겠습니다.
트래픽을 컨트롤 할 수 있는 장치가 마련되어 있지 않은 팀이라면 배포 → 출시 및 출시한 제품의 안전성이 검증될 때까지 아래와 같은 프로세스를 거치게 되실 겁니다.
출시 후 장애 모니터링과 기도를 하면서 그저 기다려야하죠.
기능 플래그를 사용하는 팀이라면 이야기가 달라집니다.
아래와 같은 과정을 거치는 동안 이미 기능의 안전성을 데이터로 확인하고 기능을 출시하기 때문에 출시 이후 마음 졸이며 모니터 하실 필요가 없게 됩니다.
기능을 검증할 수 있게 해주는 요소가 바로 기능 플래그의 트래픽 컨트롤 / 타겟 배포 기능인데요.
트래픽 컨트롤 기능은 기능 플래그를 사용하는 가장 큰 이유 중 하나 입니다.
기능 플래그로 True (출시) vs. False (미출시) 뿐만 아니라 0%~100%까지 전체 트래픽의 몇 %에 출시할지도 컨트롤이 가능합니다.
신규 기능을 출시할 때 단번에 트래픽 100%에 노출을 했다가 장애가 발생하면 영향도가 너무 크기 때문에 최소 10% 정도의 적은 트래픽부터 점진적으로 기능을 출시하며 발생하는 버그나 시스템 에러를 수정해 가며 배포 범위를 늘려가는 것입니다.
[기능 플래그 점진적 배포 트래픽 설정하기]
3편으로 이어집니다.