AI 시대를 위한 기능 플래그: Flagship 소개
핵심 내용
Cloudflare가 Workers/KV/DO 기반의 OpenFeature 호환 Flagship을 공개했다.
자세히 보기
AI가 코드를 더 많이 만들고, 나아가 에이전트가 배포·테스트·롤아웃까지 맡는 시대에는 속도만큼이나 안전한 자율성이 중요해진다. Cloudflare는 이를 위해 Flagship을 발표했으며, OpenFeature 기반의 네이티브 feature flag 서비스로 Workers, Node.js, Bun, Deno, 브라우저에서 동작한다. 특히 Workers에서는 Cloudflare 네트워크 안에서 flag를 평가해 가장 빠르다고 설명한다.
기존 Workers 환경에서는 flag 로직을 코드에 하드코딩하거나, 외부 서비스로 HTTP 요청을 보내는 방식이 흔했다. 전자는 flag가 늘수록 관리와 감사 추적이 어려워지고, 후자는 매 요청마다 네트워크 왕복이 발생해 지연이 커진다. 로컬 평가 SDK도 대안이 되지만, Worker isolate는 장수 프로세스가 아니어서 상태 유지 가정이 맞지 않는다.
Flagship은 이 문제를 Workers, Durable Objects, KV로 풀었다. 변경 사항은 먼저 Durable Object에 원자적으로 기록되고, 몇 초 내에 Workers KV로 동기화된다. 요청이 들어오면 edge에서 바로 KV를 읽고, isolate 내부의 평가 엔진이 타겟팅 규칙과 퍼센트 롤아웃을 계산해 variation을 반환한다. 평가 경로에 외부 origin이나 제3자 서비스가 끼지 않는다.
Workers용 통합은 binding 방식으로 제공된다. wrangler.jsonc에 FLAGS binding과 app_id를 지정하면, Worker 안에서 getBooleanValue(), getStringValue(), getNumberValue(), getObjectValue()와 각종 *Details() API로 바로 평가할 수 있다. 평가 오류는 기본값으로 안전하게 처리되지만, 타입 불일치는 코드 버그로 간주해 예외를 던진다.
SDK는 OpenFeature-native로 설계됐다. 기존 flag SDK처럼 전용 인터페이스에 종속되지 않기 때문에 provider를 바꾸더라도 평가 코드는 거의 그대로 유지된다. 일반 서버 환경에서는 FlagshipServerProvider에 appId, accountId, authToken을 넣어 쓰고, Workers에서는 binding을 그대로 전달하면 된다.
기능적으로는 일반적인 flag 서비스가 기대하는 범위를 제공한다.
- 값 타입: boolean, string, number, JSON object
- 규칙 평가: 여러 rule을 priority order로 평가하고 첫 매칭이 승리
- 조건 조합: AND/OR 중첩을 최대 5단계까지 지원
- 퍼센트 롤아웃: 동일한 컨텍스트 속성에 대한 consistent hashing으로 안정적인 점진 배포 지원
- 운영 기능: audit trail, dashboard 연동, 팀 단위 플래그 조정
Cloudflare는 이 서비스가 AI 생성 코드가 생산에 들어가는 빈도가 높아질수록 더 중요해질 것이라고 본다. 팀은 플래그로 blast radius를 제한하고, 문제가 생기면 즉시 되돌리며, 새 코드 경로를 점진적으로 노출할 수 있다. 현재 Flagship은 private beta이며, 접근 신청과 문서, SDK, 소스 코드를 통해 시작할 수 있다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.