OpenFlags
OpenFlags는 오픈소스 셀프호스팅 피처 플래그 시스템으로, 앱 SDK에서 로컬 평가와 REST 제어 플레인을 통해 안전한 점진적 배포를 지원합니다.
OpenFlags란?
OpenFlags는 오픈소스 셀프호스팅 피처 플래그 시스템으로, 팀이 점진적 배포와 더 안전한 롤아웃으로 변경 사항을 배포할 수 있도록 설계되었습니다. 제어 플레인과 SDK를 제공하여 애플리케이션 코드에서 플래그를 로컬로 평가하고 변경마다 재배포 없이 기능 동작을 활성화할 수 있습니다.
OpenFlags의 핵심 목적은 퍼센트 롤아웃, 타겟팅 활성화, 제어된 활성화와 같은 릴리스 워크플로를 지원하면서 플래그 평가를 저지연으로 유지하고 런타임 소유권을 팀 인프라 내에 두는 것입니다.
주요 기능
- 셀프호스팅 플래그 인프라: 호스팅 플랫폼에 의존하지 않고 플래그 저장소, 타겟팅 로직, 런타임 소유권을 자체 인프라에 유지하세요.
- 타입드 SDK를 통한 로컬 평가: TypeScript 패키지를 사용해 앱에서 플래그를 평가하며, 코드 내 로컬 실행으로 빠르고 예측 가능한 체크를 목표로 합니다.
- 점진적 배포 제어: 모든 사용자에게 한 번에 변경을 활성화하는 대신 제어된 슬라이스(퍼센트 롤아웃 포함)로 기능을 롤아웃하세요.
- 세밀한 타겟팅: 특정 사용자 타겟팅에 따라 플래그를 활성화하여 서로 다른 코호트가 다른 기능 동작을 받을 수 있습니다.
- 집중된 표면적의 REST 제어 플레인: 모노레포의 일부로 서버, 대시보드, SDK, 문서를 위한 전용 역할을 가진 간단한 REST API를 사용해 플래그 제어 플레인과 관리를 처리하세요.
- 토글 및 롤아웃 관리 대시보드: React 기반 관리 UI로 팀이 릴리스를 토글하고 롤아웃 구성을 관리할 수 있습니다.
OpenFlags 사용 방법
- 문서와 퀵스타트로 시작하세요: 제공된 문서를 사용해 서버, 대시보드, SDK를 환경에 설정하세요.
- 앱에서 SDK 클라이언트 생성: API URL, 프로젝트 식별자, 사용자 식별자로 클라이언트를 초기화하세요.
- 애플리케이션 코드에서 로컬 플래그 평가: SDK를 사용해 플래그 활성화 여부를 확인(
flags.isEnabled("flag_name")호출 예시)하고 조건부 동작을 렌더링하세요. - 제어 플레인에서 롤아웃 구성 관리: 대시보드 또는 REST API를 사용해 퍼센트 기반 활성화나 타겟팅 활성화 등의 롤아웃 동작을 정의하세요.
사용 사례
- 새 사용자 경험 점진적 활성화: UI나 워크플로를 피처 플래그로 게이트하고 모든 트래픽 대신 제어된 사용자 하위 집합에 활성화하세요.
- 타겟팅 사용자 대상 베타 테스트 실행: 사용자 식별자를 타겟팅해 특정 코호트에 기능 활성화, 그룹 간 동작 비교를 하면서 나머지는 영향을 받지 않게 하세요.
- 퍼센트 롤아웃으로 릴리스 영향 범위 축소: 변경을 점진적으로(예: 사용자 35%) 롤아웃하고 애플리케이션 재빌드나 재배포 없이 롤아웃 동작을 조정하세요.
- 성능 민감 앱에서 플래그 체크 빠르게 유지: 앱 내 로컬 평가를 사용해 기능 체크가 런타임 동안 저지연이고 일관되게 유지되도록 하세요.
- 인프라 내 소유권 유지: 셀프호스팅 제어 플레인을 사용해 운영 및 감사 표면을 스택 내에 유지하세요.
자주 묻는 질문
-
OpenFlags는 셀프호스팅인가 클라우드 호스팅인가요? OpenFlags Cloud가 곧 출시될 예정이며, 현재 제공은 오픈소스 셀프호스팅으로 위치づけ됩니다.
-
피처 평가는 어떻게 작동하나요? OpenFlags는 SDK를 사용한 로컬 평가를 지원하므로 플래그 체크가 앱 코드 내에서 발생하며 매 평가마다 원격 호출이 필요 없습니다.
-
어떤 롤아웃 패턴을 지원하나요? 사이트에서 퍼센트 롤아웃, 세밀한 타겟팅, 제어된 활성화를 포함한 점진적 배포를 언급합니다.
-
OpenFlags는 어떤 컴포넌트를 포함하나요? 모노레포에 제어 플레인을 위한 Bun 기반 서버 API, React 기반 대시보드, TypeScript SDK 패키지, 문서가 포함됩니다.
-
SDK는 어떤 언어/프레임워크를 위해 설계되었나요? 사이트에서 JavaScript 우선 SDK 사용을 강조하며 Bun, React, Next.js, Vite, Node 앱 지원을 언급합니다.
대안
- 관리형 피처 플래그 플랫폼 (SaaS): 일반적으로 플래그 관리를 호스팅 서비스에 중앙화합니다. OpenFlags의 셀프호스팅 제어 플레인에 비해 평가와 운영 소유권이 벤더 플랫폼에 더 의존적일 수 있습니다.
- 인프라-as-code 기반 롤아웃 (전용 플래그 평가 없음): 팀은 배포, 라우팅 또는 구성 토글을 사용해 점진적 배포를 근사할 수 있습니다. OpenFlags와 달리 로컬 평가를 위한 전용 피처 플래그 SDK 워크플로를 제공하지 않습니다.
- 다른 아키텍처의 오픈소스 피처 플래그 서비스: 대안 오픈소스 시스템은 유사한 개념(플래그, 타겟팅, 대시보드)을 제공할 수 있지만 SDK 접근 방식, 제어 플레인 API 설계 또는 로컬 평가 처리에서 다른 트레이드오프가 있습니다.
대안
Rectify
Rectify는 SaaS 운영을 위한 올인원 플랫폼으로 모니터링·분석·지원·로드맵·체인지로그·에이전트 관리를 한 시각적 워크스페이스에서 대화로 제어합니다.
GitBoard
GitBoard는 GitHub Projects용 네이티브 macOS 메뉴바 앱으로 칸반 보드 보기, 상태 필터링, 이슈 검색, 워크플로우에서 생성/할당을 지원합니다.
Studio CLI
터미널에서 Studio CLI로 WordPress Studio 기능을 제어하세요. 로컬 사이트 관리, WordPress.com 프리뷰 생성/갱신/삭제, 인증 지원.
PingPulse
PingPulse는 AI 에이전트 워크플로를 실시간 핸드오프 추적·시각화·알림으로 모니터링해 장애/정체/순서 오류를 조기 감지합니다.
KIT.domains
KIT.domains로 도메인 만료와 SSL 상태, DNS(MX/NS) 변경을 자동 모니터링하고 만료 알림·경고를 공유 대시보드에서 한눈에 관리하세요.
Sleek Analytics
Sleek Analytics로 실시간 방문자 추적을 간편하게 확인하세요. 유입 출처, 본 페이지, 머문 시간까지 프라이버시 친화적으로 제공합니다.