세그먼트별 기능 플래그 적용

앱 소유자는 기능 플래그를 생성 및 관리하고, 이를 컬렉션에 추가한 뒤 SDK를 통해 앱에서 사용할 수 있습니다. 또한 런타임 시 기능을 사용 또는 사용 안함으로 설정하여 기능의 적용 가능성을 제어할 수 있습니다.

ServiceNow 통합을 사용하여 App Configuration 환경을 통해 시작된 구성 변경사항에 대한 승인 프로세스 플로우를 추가할 수 있습니다. 승인 프로세스 플로우는 dev, stage및 production과 같은 App Configuration 환경에 적용 가능합니다. 자세한 정보는 워크플로우 관리 를 참조하십시오.

모든 콜렉션 사용자 또는 특정 사용자 및 디바이스 세트 또는 특정 사용자 및 디바이스 세트의 특정 백분율에 대해 기능을 사용 또는 사용 안함으로 설정할 수 있습니다.

기능을 활성화하거나 비활성화하는 것은 시작 및 종료 일시(날짜와 시간)를 지정하여 조정할 수 있습니다. 또한 정의된 기능을 사용 또는 사용 안함으로 설정할 수 있는 특정 날을 선택할 수 있습니다. 시작 및 종료 시간, 날짜를 설정하고 기능 플래그를 토글할 특정 요일을 선택하는 방법에 대한 자세한 내용은 예약된 플래그를 참조하세요.

기본적으로, 기능 플래그 페이지 에는 App Configuration 서비스 인스턴스의 현재 환경에서 생성된 기능 플래그 목록과 함께 이름, 유형, 마지막 업데이트, 마지막 평가, 대상 세그먼트 등의 세부 정보가 표시됩니다. 플래그 유형은 부울, 숫자, 문자열로 분류됩니다.

  • 부울 플래그에는 두 개의 값이 있으며 기본값을 'true' 또는 'false' 로 설정할 수 있습니다.
  • 문자열 유형 플래그는 텍스트 형식의 데이터와 JSON 또는 YAML 파일을 지원합니다.
  • 숫자 플래그는 정수를 지원합니다.

기능 플래그 목록
기능 플래그 목록

기능 플래그 작성

기능 플래그를 작성하려면 다음 단계를 완료하십시오.

  1. App Configuration 콘솔에서 기능 플래그를 클릭하십시오.

  2. 현재 환경 을 선택하여 해당 환경의 기능 플래그 목록을 표시하십시오.

  3. 작성을 클릭하십시오. 측면 패널이 열리면 새 기능 플래그를 생성할 수 있는 입력란이 표시됩니다.

    기능 플래그 만들기
    새 기능 플래그 만들기

  4. 기능 플래그 세부사항을 제공하십시오.

    • 이름 - 기능 플래그의 이름.
    • 기능 플래그 ID - 기능 플래그 ID 값은 입력한 기능 이름에 따라 자동으로 제안됩니다. 필요한 경우 동일하게 수정할 수 있습니다. SDK 또는 API 코드의 ID로 기능 플래그 ID 값을 사용하십시오.
    • 플래그 유형 - 기능 플래그의 유형을 지정합니다. 지원되는 유형에는 부울, 문자열 및 숫자가 포함됩니다. 플래그 유형 및 기본값에 대한 자세한 정보는 기능 플래그 유형 선택 을 참조하십시오.
    • 기본값 - 선택한 기능 플래그 유형의 기본값을 지정합니다. 플래그 유형 및 기본값에 대한 자세한 정보는 기능 플래그 유형 선택 을 참조하십시오.
    • 선택적으로, 지금 기능 플래그를 적용하기 위한 콜렉션을 선택하십시오. 그렇지 않으면 기능 플래그를 전환하기 전에 콜렉션을 추가해야 합니다. ‘컬렉션 간 기능 플래그 사용 가능 여부’ 목록에서 선택하여 하나 이상의 컬렉션에 기능 플래그를 추가할 수 있습니다.
    • 기능 롤아웃-슬라이더를 사용하여 Rollout percentage 를 지정하십시오. 수동 롤아웃에 대한 자세한 내용은 기능 롤아웃 비율 구성을 참조하세요.
    • 설명 - 기능 플래그에 대한 설명을 추가합니다(선택사항).
    • 선택 사항으로, 기능 플래그를 식별하는 데 도움이 되는 태그를 정의할 수 있습니다.
  5. 작성을 클릭하십시오.

기본적으로 새 기능 플래그를 생성하면 ‘Enabled’ 토글 스위치가 ‘ OFF ’로 설정됩니다.

기능 플래그 유형 선택

기능 플래그와 연관된 다음 플래그 유형 중 하나를 포함할 수 있습니다.

  • 부울
  • 문자열
  • 숫자

플래그 유형 각각에는 기본값이 있습니다.

  • 토글 스위치를 ‘ ON ’로 설정하면 ‘ 활성화된 값 ’ 값을 입력해야 하며, 이 값은 특정 세그먼트를 대상으로 할 때 재정의할 수 있습니다.
  • 토글 스위치를 ‘ OFF ’로 설정하면 ‘ 비활성화된 값 ’ 값을 입력해야 하며, 이 값은 특정 세그먼트를 대상으로 할 때 재정의할 수 있습니다.

부울

플래그 유형부울로 선택하면 기본값 세부사항이 표시됩니다.

기능 플래그 유형 - 부울
기능 플래그 유형 - 부울

  1. 목록에서 사용 가능 값을 선택하십시오. 기능 플래그의 토글 스위치가 ON으로 설정되어 있을 때, 이 값이 기본적으로 반환됩니다. 이 값은 특정 세그먼트를 대상으로 설정할 때 재정의할 수 있습니다.

  2. 목록에서 사용 불가능 값을 선택하십시오. 이 값은 기본적으로 전환 스위치가 기능 플래그에 대해 OFF로 설정되어 있는 경우 리턴됩니다.

문자열

플래그 유형문자열로 선택하면 기본값 세부사항이 표시됩니다.

![기능 플래그 유형 - 문자열*기능 플래그 유형을 ")

  1. 목록에서 문자열 플래그 유형의 형식 을 선택하십시오. 지원되는 형식은 텍스트, JSON및 YAML입니다. JSON 또는 YAML 형식이 선택되면 선택된 형식으로 사용 값사용 안함 값 을 제공하십시오.

  2. 사용 가능 값을 지정하십시오. 기능 플래그의 토글 스위치가 ON으로 설정되어 있을 때, 이 값이 기본적으로 반환됩니다. 이 값은 특정 세그먼트를 대상으로 설정할 때 재정의할 수 있습니다.

  3. 사용 불가능 값을 지정하십시오. 이 값은 기본적으로 전환 스위치가 기능 플래그에 대해 OFF로 설정되어 있는 경우 리턴됩니다.

숫자

플래그 유형숫자로 선택하면 기본값 세부사항이 표시됩니다.

기능 플래그 유형 - 숫자 *기능 플래그 유형을 숫자로
플래그 유형 - 숫자

  1. 목록에서 사용 가능 값을 선택하십시오. 정수 값만 지원됩니다. 기능 플래그의 토글 스위치가 ON으로 설정되어 있을 때, 이 값이 기본적으로 반환됩니다. 이 값은 특정 세그먼트를 대상으로 설정할 때 재정의할 수 있습니다.

  2. 목록에서 사용 불가능 값을 선택하십시오. 정수 값만 지원됩니다. 이 값은 기본적으로 전환 스위치가 기능 플래그에 대해 OFF로 설정되어 있는 경우 리턴됩니다.

기능 플래그에 콜렉션을 대상으로 지정

선택적으로, 지금 기능 플래그를 적용하기 위한 콜렉션을 선택하십시오. 그렇지 않으면 기능 플래그를 전환하기 전에 콜렉션을 추가해야 합니다. 기능 플래그 작성 중 또는 기능 플래그 세부사항 편집 중 하나 이상의 콜렉션에 기능 플래그를 추가할 수 있습니다.

기능 플래그에 콜렉션을 추가하려면 콜렉션에서 플래그 가용성 필드의 경우 목록에서 콜렉션을 선택하십시오.

컬렉션에 연결되지 않은 기능 플래그를 대상으로 지정하려고 하면, 해당 기능 플래그를 컬렉션에 추가할 수 있는 창이 표시됩니다.

기능 롤아웃 백분율 구성

사용자 또는 디바이스의 부분 세트에 대한 기능의 적용 가능성을 나타내는 0 - 100 범위의 롤아웃 백분율로 기능 플래그를 구성할 수 있습니다.

수동 배포를 통해 무작위로 선정된 소수의 사용자나 특정 대상 그룹에 기능을 활성화할 수 있으며, 이를 통해 릴리스 주기를 보다 세밀하게 제어하고 점진적인 배포를 실현할 수 있습니다. 롤아웃하려는 기능이 의도한 대로 작동하고 있다고 확신하는 경우 시간 경과에 따라 백분율을 늘리십시오.

수동 롤아웃은 규칙 집합을 기반으로 해시를 생성하는 해싱 알고리즘을 사용합니다. 이 해시는 SDK에서 해당 사용자에 대한 백분율 값을 생성하는 데 사용됩니다. 해당 사용자에 대해 생성된 백분율 값은 수동 롤아웃 값에 설정된 값과 비교하여 사용자가 해당 기능을 받을 자격이 있는지 여부를 결정합니다.

예를 들어, 해시에는 1-100 ,000의 파티션이 있습니다. 기능 플래그를 지정할 때 해시는 각 파티션의 사용자에게 1-100 ,000의 값을 지정합니다. 예를 들어, 기능 플래그에 25%를 지정하면 App Configuration SDK가 해당 기능을 1-25 ,000의 해시 파티션에 전달합니다. 해당 기능을 수신하는 사용자의 백분율을 25%에서 50%로 변경하면 해당 기능을 이미 수신하는 파티션 세트에 25 ,001에서 50 ,000으로 파티션이 추가됩니다.

Lite 및 Enterprise 요금제에서는 수동 배포 기능을 이용할 수 있습니다.

다음은 몇 가지 수동 롤아웃 시나리오입니다:

  • 기능 플래그가 사용 안함으로 설정되면 SDK는 기본 사용 안함 값을 리턴합니다.
  • 세그먼트 규칙 없이 기능 플래그가 활성화되어 있고 수동 롤아웃이 설정되어 있지 않은 경우 SDK는 기본값인 Enabled를 반환합니다.
  • 세그먼트 규칙 없이 기능 플래그가 활성화되어 있고 수동 롤아웃이 0%로 설정되어 있는 경우 SDK는 모든 사용자에 대해 Disabled 값을 반환합니다.
  • 세그먼트 규칙 없이 기능 플래그가 활성화되어 있고 수동 롤아웃이 백분율(예: 50%)로 설정된 경우 SDK는 사용자가 구성된 수동 롤아웃 크기에 속하는지 확인하고, 사용자가 롤아웃 기준에 속하는 경우 활성화 값을 반환합니다. 사용자가 롤아웃 기준에 속하지 않으면 SDK는 사용 안함 값을 리턴합니다.
  • 기능 플래그가 세그먼트 규칙에 대해 사용으로 설정된 경우, SDK는 먼저 구성된 규칙에 대해 사용자를 평가합니다. 사용자가 구성된 규칙의 일부인 경우 SDK는 사용자가 수동 롤아웃에 적합한지 평가합니다.
    • 여러 규칙이 구성되고 사용자가 첫 번째 일치까지 규칙 일치를 확인하는 경우. 일치하는 항목이 없으면 SDK는 기본 롤아웃에 대해 평가합니다.
    • 사용자가 세그먼트의 일부로 평가되고 세그먼트 수동 롤아웃이 0%인 경우, 사용자가 세그먼트의 일부인 경우에도 세그먼트 값을 받지 못합니다. SDK는 기본 사용 안함 값을 리턴합니다.
    • 사용자가 세그먼트의 일부로 평가되고 세그먼트 수동 롤아웃이 백분율(예: 50%)로 설정된 경우 SDK는 사용자가 구성된 롤아웃 크기에 속하는지 확인하고, 사용자가 롤아웃 기준에 속하는 경우 세그먼트 재정의 값을 반환합니다. 사용자가 롤아웃 기준에 속하지 않으면 SDK는 사용 안함 값을 리턴합니다.
백분율 롤아웃 시나리오
기능 플래그 대상이 구성되었습니까? 수동
롤아웃
사용자가 구성된 세그먼트의
일부
입니다.
사용자

수동 배포
기준의 일부입니까?
SDK가
리턴한
사용 안함 해당사항 없음 모든% 롤아웃 세트 해당사항 없음 해당사항 없음 사용 안함 값
사용 아니오 0% 해당사항 없음 아니오 사용 안함 값
사용 0% 아니오 사용 안함 값
사용 0% 아니오 아니오 사용 안함 값
사용 아니오 0% - 100% 사이 해당사항 없음 사용 값
사용 아니오 0% - 100% 사이 해당사항 없음 아니오 사용 안함 값
사용 연관성 0% - 100% 대체된 값
사용 연관성 0% - 100% 아니오 사용 안함 값
사용 0% - 100% 사이 아니오 사용 값
사용 0% - 100% 사이 아니오 아니오 사용 안함 값
사용 아니오 100%로 해당사항 없음 사용 값
사용 100%로 대체된 값
사용 100%로 아니오 사용 값

기능 플래그로 세그먼트 대상 지정

기능 플래그를 하나 이상의 대상 세그먼트로 롤아웃할 수 있습니다. 필요한 경우 다른 세그먼트에 대해 다른 플래그 값을 설정할 수 있습니다.

  1. App Configuration 콘솔에서 기능 플래그로 이동하십시오. 이 창에는 ‘ App Configuration ’ 서비스 인스턴스의 현재 환경에서 사용할 수 있는 기능 플래그 목록이 표시됩니다.

  2. 필수 기능 플래그 행에서 타겟팅 추가를 클릭하여 타겟팅 구성 추가 사이드 패널을 표시합니다.

  3. 기능 롤아웃(기본값 ) 섹션에는 기능 플래그를 만들 때 정의된 기본 롤아웃 비율 슬라이더가 표시됩니다. 슬라이더를 움직여 롤아웃 비율 값을 조정할 수 있습니다. 슬라이더를 조정하면 변경 사항이 자동으로 저장됩니다.

  4. 규칙 섹션에서는 누가 내 기능을 볼 수 있는지 제어하는 규칙을 정의하고 여러 규칙을 쉽게 관리할 수 있습니다. 초기 보기에는 규칙 만들기 버튼과 기존 규칙을 필터링할 수 있는 검색 필드가 표시됩니다.

    규칙 추가하기
    규칙 추가하기

    규칙을 만들 때 다음을 지정합니다:

    • 규칙 이름- 규칙에 대한 설명적인 이름을 입력합니다(최대 100자).

    • 규칙 ID- 규칙의 고유 식별자를 입력합니다. 문자, 숫자, 점(.), 하이픈(-), 밑줄(_)만 포함해야 합니다. 최대 100자까지 입력할 수 있습니다.

    • 롤아웃 비율에서 값을 재정의 또는 기본값에서 상속으로 정의할 수 있습니다. 재정의 옵션을 선택한 경우 슬라이더를 사용하여 롤아웃 비율 값을 조정합니다. 슬라이더를 조정하면 백분율이 자동으로 저장됩니다.

    • 세그먼트 선택- 목록에서 하나 이상의 세그먼트를 선택합니다. 선택한 세그먼트는 개수 표시기와 함께 표시됩니다(예: "1 × 세그먼트가 선택됨"). 대상으로 지정할 수 있는 세그먼트가 없는 경우 세그먼트 작성을 클릭하십시오. 세그먼트 작성에 대한 자세한 정보는 세그먼트 작성 을 참조하십시오.

    • 사용 가능한 값에 대해 겹쳐쓰기 를 선택하고 값을 수정하거나 플래그에서 상속을 선택할 수 있습니다.

    • 우선순위- 규칙 우선순위를 설정하여 규칙이 평가되는 순서를 결정합니다. 우선순위는 다음 옵션 중 하나로 설정할 수 있습니다:

      • 최하위로 설정 - 규칙의 우선순위를 최하위로 설정합니다. 이는 기본 옵션입니다.
      • 맨 위로 설정 - 우선순위를 규칙의 맨 위(즉, 1)로 설정합니다.
      • 특정 위치 - 사용자가 정의한 특정 위치로 우선순위를 설정합니다. (우선순위 번호는 1부터 규칙 수까지 입력할 수 있습니다.)

    규칙 저장을 클릭하면 규칙이 생성되고 저장됩니다. 별도의 만들기 또는 취소 버튼이 없으며, 규칙 구성을 완료하면 패널을 닫으면 됩니다.

  5. 규칙을 만들면 우선순위, 규칙 이름, 세그먼트롤아웃 정보가 표시된 규칙 표에 규칙이 나타납니다. 오버플로 메뉴 를 사용하여 각 규칙에 대해 다음 작업을 수행할 수 있습니다:

    • 복사- 기존 규칙을 복제하여 새 규칙을 만듭니다.

    규칙 오버플로 메뉴 복사
    규칙 오버플로 메뉴 복사

    규칙 보기 복사
    규칙 보기 복사

    • 규칙 편집- 기존 규칙 구성을 수정합니다.

    규칙 오버플로 메뉴 수정
    규칙 오버플로 메뉴 수정

    규칙 보기 편집
    규칙 보기 편집

    • 우선순위 수정- 규칙 평가 순서를 변경합니다. 우선순위에 따라 규칙이 평가되는 순서가 결정됩니다. 우선 순위가 낮은 규칙이 먼저 평가됩니다. 앞서 언급한 옵션 중 하나로 우선순위를 설정할 수 있습니다.

    우선순위 오버플로 메뉴 수정
    우선순위 오버플로 메뉴 수정

    우선순위 규칙 보기 편집
    우선순위 규칙 보기 편집

    • 삭제- 규칙을 제거합니다. 삭제를 선택하면 실수로 삭제하는 것을 방지하기 위해 확인 대화 상자가 나타납니다.

    규칙 오버플로 메뉴 삭제
    규칙 오버플로 메뉴 삭제

    삭제 확인 대화 상자
    규칙 삭제 확인 대화 상자

컬렉션에 연결되지 않은 기능 플래그를 대상으로 지정하려고 하면, 해당 기능 플래그를 컬렉션에 추가할 수 있는 창이 표시됩니다.

타겟팅 규칙을 평가하는 방법

타겟팅을 구성할 때 다음 평가 동작을 염두에 두세요:

  • 세그먼트 내에서 서로 다른 속성은 AND 으로 평가됩니다.
  • 단일 세그먼트 속성 내에서 여러 값이 OR 로 평가됩니다.
  • 타겟팅 규칙 내에서 선택한 여러 세그먼트는 OR 로 평가됩니다.
  • 타겟팅 규칙 전반에서 규칙은 우선순위에 따라 평가되며, 가장 먼저 일치하는 규칙이 적용됩니다.

예를 들어 규칙에 Production - US-EastProduction - Eu-De 세그먼트가 포함된 경우 두 세그먼트가 일치하면 규칙이 일치합니다. 이러한 대상에게 개별적으로 롤아웃하려면 별도의 규칙을 만들거나 필요한 모든 속성으로 각 세그먼트를 정의하고 우선순위에 따라 규칙의 순서를 정하세요.

eu-de 에서 프로덕션 사용자에게 먼저 기능을 사용 설정하고 나중에 us-east 에서 프로덕션 사용자에게 기능을 사용 설정하려면 다음과 같이 필요한 모든 속성을 사용하여 각 세그먼트를 정의하세요:

  • 세그먼트 1: environment is productionregion is eu-de
  • 세그먼트 2: environment is productionregion is us-east

그런 다음 해당 세그먼트를 별도의 규칙으로 타겟팅하고 타겟팅 편집 보기에서 우선순위에 따라 규칙을 정렬합니다. 이 접근 방식은 각 규칙이 의도한 대상과만 일치하도록 하는 데 도움이 됩니다.

기능 플래그 사용

특정 세그먼트에 기능 플래그를 지정한 후, 토글(ON/OFF)을 클릭하여 기능 플래그를 활성화하거나 비활성화하세요.

기능 플래그 - 오버플로우 메뉴

기능 플래그 각각의 오버플로우 메뉴(세 개의 세로 점)는 편집, 복사, 삭제 오퍼레이션과 이미 대상으로 지정된 기능 플래그에 대한 대상 지정 제거로 구성됩니다.

기능 플래그의 오버플로
플래그의 오버플로 메뉴*기능 플래그의 오버플로

  • ‘편집’ 옵션을 선택하면 ‘이름’, ‘설명’을 변경하고, 태그를 추가하거나 삭제하며, 플래그 유형과 기본값을 변경하고, ‘컬렉션 간 플래그 사용 가능 여부’ 필드의 컬렉션을 추가하거나 제거할 수 있습니다.
  • ‘복사’ 옵션을 선택하면 피처 플래그 정보가 복사되며, 피처 플래그의 이름을 수정해야 합니다. 선택적으로, 필요에 따라 다른 세부사항을 수정하십시오.
  • 삭제 옵션을 선택하는 경우 선택한 기능 플래그를 삭제하기 위해 확인을 요청하는 확인 창이 표시됩니다. ‘삭제’ 옵션을 선택하면 기능 플래그가 영구적으로 삭제되며, 이 작업은 되돌릴 수 없습니다.
  • 기능 플래그 목록의 기능 플래그에서 클립보드에 복사 아이콘을 클릭하면 기능 플래그의 기능 플래그 ID 값이 클립보드에 복사됩니다.
  • 타겟팅 제거는 특정 세그먼트에 대한 기능 플래그의 타겟팅을 해제합니다.