IBM Cloud Docs
App Configuration의 개념

Copyright: 년: 2025년 마지막 업데이트: "2025-03-10"

키워드: 앱 구성, 앱 구성, 앱 구성에 관하여

하위 컬렉션: 앱 구성


App Configuration의 개념

IBM Cloud App Configuration은 웹 및 모바일 애플리케이션, 마이크로서비스 및 분산 환경에서 사용하기 위한 중앙 집중화된 기능 관리 및 구성 서비스입니다.

App Configuration SDK를 사용하여 애플리케이션을 구성하고, App Configuration 대시보드 또는 App Configuration 관리자 API를 사용하여 기능 플래그를 정의하십시오. 기능 플래그는 컬렉션으로 구성되고 세그먼트에 따라 달라집니다. 종종 다시 시작하지 않고 클라우드의 기능 플래그 상태를 애플리케이션 또는 환경에서 활성화 또는 비활성화로 변경할 수 있습니다. 분산 애플리케이션에서 중앙집중식으로 특성을 관리할 수도 있습니다. IBM Cloud 의 리소스에 대한 최신 구성 데이터를 한 곳에서 관리할 수 있어, 거버넌스 및 규정 준수 이니셔티브를 위한 포괄적인 정보를 이용할 수 있습니다. 이는 구성 집계를 활성화하거나 비활성화하는 기능으로 제어할 수 있습니다.

  • 앱 소유자 - 세그먼트별로 기능을 롤아웃하며 코드 배치에서 독립적입니다.
  • 개발자- 테스트되지 않았거나 완성되지 않은 기능을 메인 브랜치의 기능 플래그 뒤에 포함시켜 소스 코드 브랜치의 복잡성과 번거로운 병합을 줄이십시오.
  • 테스터 - 프로덕션에서 새 기능을 테스트하고 원활환 전이를 보장합니다. 플래그를 사용하여 릴리스되기 전까지 테스터 및 QA 담당자에 대해서만 테스트되지 않은 기능을 활성화하십시오.

기능

App Configuration 의 주요 특징:

  • 중앙 집중화된 구성 - 중앙 위치에서 분산된 여러 리소스를 구성합니다. 콜렉션을 사용하여 앱 또는 리소스별로 플래그를 구성하십시오.
  • 다크 론칭(Dark Launch) - 배치할 준비가 되지 않은 기능을 포함하고 준비가 되면 활성화합니다.
  • 세그먼트된 기능 롤아웃 - 다른 시간에 다른 세그먼트에 대해 기능을 활성화하거나 세그먼트별로 기능이 달라집니다.
  • 기능 롤백 - App Configuration 클라우드 대시보드에서 기능 플래그를 전환하여 문제가 있는 기능을 즉시 롤백합니다.
  • 단계별 롤아웃 - 기능의 점진적 전달을 구현하기 위해 엔티티 서브세트에 사용하도록 설정할 기능 플래그를 구성합니다.
  • 구성 애그리게이터- 거버넌스 및 규정 준수 이니셔티브에 사용할 수 있도록 IBM Cloud 계정에 있는 여러 분산 리소스의 메타데이터를 수집하도록 구성합니다.

App Configuration 작동 방법

App Configuration이(가) 정상 조작 중이나 문제 발생 시 작동하는 방식을 알아보십시오.

정상 조작

정상 조작 중에 App Configuration SDK(그림 1의 #2)는 IBM Cloud App Configuration 인스턴스(그림 1의 #1)에서 애플리케이션으로 적절한 플래그 상태 또는 특성 값을 자동으로 전달하는 작업을 처리합니다. 초기화 과정에서 SDK는 App Configuration API에 연결하여 지정된 컬렉션, 세그먼트 규칙, 타겟팅 규칙(그림 1의 #3)을 가져온 다음, 애플리케이션에 프로그래밍된 속성 값에 대해 규칙을 평가하여 올바른 세그먼트 와 타겟 값을 선택합니다. 규칙이 작동하는 속성은 클라우드의 IBM Cloud App Configuration 서비스가 아니라 로컬로 저장됩니다. 따라서, 예를 들어 주민등록번호와 같이 기밀로 취급해야 하는 속성에 대해 평가해야 하는 경우, 그 값은 결코 로컬 애플리케이션 환경을 벗어나지 않습니다.

초기화 후에 애플리케이션은 사용자가 사용하는 SDK(서버 측 또는 클라이언트 측)에 따라 두 가지 방법으로 업데이트된 값을 수신합니다. 서버측 SDK는 웹 소켓을 통해 App Configuration 서비스에 연결하고, 수정된 값은 실시간으로 애플리케이션에 전달됩니다. 클라이언트측 SDK는 열림 또는 전경으로 전환과 같은 라이프사이클 변경이 있을 때, App Configuration 서비스로부터 값을 가져옵니다.

정상 조작 중에는 서비스가 올바르게 작동하고 조작을 모니터링할 수 있도록 다양한 메트릭이 AC 클라우드 서비스(그림 1의 #6)로 다시 전송됩니다.

개요
App Configuration 작동 방식

문제 발생 시 조작

다른 애플리케이션이나 클라우드 서비스와 마찬가지로 때로는 문제가 발생하기도 하지만, IBM Cloud App Configuration 는 IBM Cloud App Configuration 서비스가 앱에서 이용 가능하지 않더라도 계속 구성을 제공합니다.

연결 유실

애플리케이션과 IBM Cloud App Configuration 서비스 사이에 연결이 끊기면 IBM Cloud App Configuration SDK가 마지막으로 알려진 좋은 구성(그림 1의 #4)이 포함된 로컬 캐시 파일로 자동으로 폴백됩니다. 캐시 모드에서, 클라우드에서 발생하는 구성 변경사항은 앱에 도달하지 않지만 연결이 끊긴 시점에 있던 구성은 계속 정상적으로 작동합니다.

이 경우의 연장선상에서, 에어갭 환경에서 앱을 작동해야 한다고 가정해 보겠습니다. 이 경우 부트스트랩 구성 파일(그림 1의 #5)을 사용할 수 있습니다. 자세한 내용은 오프라인 모드 활성화를 참조하세요.

서비스 작동 중지

IBM Cloud App Configuration 의 서비스 중단 가능성은 낮습니다. App Configuration 는 다중 구역 지역에 배치되어, 한 지역 내의 지리적으로 분리된 세 구역에서 실행됩니다. 구역이 작동 중지되어도 IBM Cloud App Configuration 서비스는 계속 정상적으로 작동합니다. 자세한 정보는 자원 배치를 위한 지역 및 데이터 센터 위치의 내용을 참조하십시오.

지역을 넘나드는 극단적인 재해 복구 보호가 필요한 경우, 다른 지역에 IBM Cloud App Configuration 인스턴스를 설정하고 IBM Cloud App Configuration API를 사용하여 동기화 상태를 유지할 수 있습니다.

App Configuration 개념

서비스 인스턴스, 대상 정의 및 기능 플래그와 같은 App Configuration 개념에 대해 학습합니다.

App Configuration 개요
App Configuration 개요

서비스 인스턴스

App Configuration 서비스 인스턴스는 IBM Cloud 에 있는 App Configuration 애플리케이션의 복사본입니다.사용자는 IBM Cloud 카탈로그에 있는 타일에서 인스턴스를 작성합니다. 이제 App Configuration 의 대시보드와 선택한 요금제에 포함된 모든 기능에 액세스할 수 있습니다.

환경

App Configuration 환경은 사용자가 인프라에서 관리하고 관리하는 환경에 적용되는 구성 값 세트입니다.예를 들어 소프트웨어 개발 프로세스에는 개발, 스테이징 및 프로덕션의 세 가지 환경이 포함될 수 있습니다. 세 가지 모두의 구성 값은 App Configuration의 단일 인스턴스에서 표시될 수 있습니다. 모든 구성 키(이름)은 App Configuration 내부의 모든 환경에서 자동으로 복제되지만, 각 키 값은 각 환경에만 해당됩니다.

콜렉션

콜렉션을 사용하면 기능 플래그 및 특성을 사용자에게 의미 있는 방식으로 그룹화할 수 있습니다. 종종 콜렉션은 특정 애플리케이션의 모든 구성 값을 나타낼 때 사용됩니다. 앱 또는 인프라 세트에서 공통 구성 값을 고유하려는 경우 기능 플래그 및 특성은 둘 이상의 콜렉션에 속할 수 있습니다.

기능 플래그

기능 플래그는 빠르거나 빈번하게 켜거나 끄려는 구성 매개변수입니다. 이는 애플리케이션 상태를 설정할 때 사용할 수 있습니다. 애플리케이션 내에서 App Configuration SDK의 isEnabled() 메소드를 사용하면 기능 플래그 상태에 따라 기능을 켜기/끄기로 변환하는 조건부 코드 블록을 활성화할 수 있습니다. 기능 플래그를 사용하여 기능을 프로덕션으로 다크 런칭(dark launch)한 다음, 선택된 사용자에 대해서만 해당 기능을 전환하거나 배치에서 선택적 및 개별적으로 사용자에게 롤아웃하십시오. 각 기능 플래그는 콜렉션에 속해야 합니다.

특성

특성은 자주 변경되지 않지만 여전히 중앙 집중식 관리가 필요한 구성 매개변수입니다. App Configuration를 사용하여 모든 사용자과 환경 컴포넌트의 특성을 하나의 중앙 클라우드 대시보드로 통합하여 여러 매개변수 파일 관리의 번거로움을 피할 수 있습니다. 애플리케이션 내에서 App Configuration SDK의 getCurrentValue() 메소드를 사용하여 특성의 현재 값에 액세스합니다. 각 특성은 하나의 콜렉션에 속해야 합니다.

세그먼트

App Configuration을(를) 사용하면 단일 기능 플래그 또는 특성에 여러 값이 있을 수 있으며 각 값은 특정 엔티티 그룹(사용자, 디바이스, 인프라 구성요소)에 적용됩니다. 각 그룹을 세그먼트라고 합니다. 한 세그먼트의 구성원은 한 세그먼트 규칙 세트에서 정의한 대로 하나 이상의 공통 속성을 공유합니다. 세그먼트는 선택사항입니다.

속성

속성은 세그먼트를 정의하는 데 사용되는 매개변수입니다. 속성은 App Configuration 대시보드에서 세그먼트 규칙을 작성할 때 사용되지만, 속성 이름과 각 속성 값은 사용자 코드에서 정의됩니다. 실행 시 App Configuration SDK는 세그먼트 규칙을 애플리케이션 인스턴스로 페치하여 이것이 세그먼트의 일부인지 여부를 판별합니다.

대상 정의

기능 플래그 및 특성은 대상 정의라고 하는 규칙 세트를 기반으로 하는 세그먼트를 대상으로 합니다. 대상을 지정하면 정의한 모든 세그먼트에 대해 플래그 또는 특성의 기본값을 대체할 수 있습니다.

App Configuration SDK

App Configuration SDK는 애플리케이션에 적절한 플래그 상태 또는 특성 값의 자동 전달을 처리합니다. 이는 App Configuration API에서 제공하는 엔드포인트에 연결하고, 콜렉션을 페치한 후 세그먼트 및 대상 지정 규칙을 평가합니다. 또한 구성 애그리게이터를 활성화하거나 비활성화하고 리소스 메타데이터에 대한 쿼리를 수행할 수 있는 옵션도 제공합니다. 서버 측 SDK는 실시간 업데이트를 위해 웹 소켓을 통해 App Configuration 서비스에 연결합니다. 클라이언트측 SDK는 열림 또는 전경으로 전환과 같은 라이프사이클 변경이 있을 때, App Configuration 서비스로부터 값을 가져옵니다.SDK는 다양한 클라이언트 측 및 서버 측 언어로 사용 가능하며 언제나 언어를 추가할 수 있습니다.