다음을 통해 공유


실험(미리 보기)

실험은 사용자 환경 또는 소프트웨어 기능을 개선하기 위해 가설 또는 변경 내용을 체계적으로 테스트하는 프로세스입니다. 이 정의는 모든 실험에 네 가지 공통 단계가 있는 기술을 포함한 대부분의 과학 분야에도 적용됩니다.

  • 이 실험의 목적을 문서화하는 가설 개발,
  • 설정, 측정되는 내용 및 방법을 포함하여 실험을 수행하는 방법 개요 설명,
  • 이전 단계에서 정의한 메트릭으로 측정된 결과의 관찰,
  • 가설의 유효성을 검사했는지 아니면 가설이 무효화되었는지에 대한 결론 도출.

비즈니스 메트릭을 향상하기 위한 사용자 환경 최적화 사용 사례를 강조 표시하는 App Configuration 실험에 대한 간단한 데모를 보려면 이 동영상을 확인합니다.

Azure App Configuration의 실험(미리 보기)

Azure App Configuration에서 실험 기능을 사용하면 개발자가 기능의 다양한 변형을 쉽게 테스트하고 기능 수준에서 영향을 모니터링할 수 있습니다. 구성되면 사용자는 새 기능을 분석하고, 기능의 다양한 변형을 비교하고, 새 제품 변경에 대한 관련 메트릭을 즉시 평가할 수 있습니다. 이 기능을 통해 개발 팀은 측정 가능한 인사이트를 통해 더 빠르고 안전한 제품 배포를 촉진할 수 있습니다. Microsoft는 Split Software와 협력하여 Azure App Configuration에서 실험 기능을 제공합니다. Split 실험 작업 영역(미리 보기)은 Microsoft와 Split Software 간의 통합을 위한 Azure Native ISV 리소스입니다.

Azure에서의 실험을 위한 개략적인 데이터 흐름입니다.

Azure에서의 실험을 위한 데이터 흐름의 다이어그램입니다.

실험을 시작하려면 먼저 실험하려는 기능과 해당 변형을 식별해야 합니다. 다음은 기능 평가의 기초를 형성하는 메트릭입니다. Azure에서 첫 번째 실험을 시작하려면 이 자습서에 설명된 단계를 수행합니다.

  • 변형 기능 플래그: 기능의 다른 버전 또는 구성을 나타냅니다. 실험에서 변형 기능 플래그는 관심 있는 메트릭 및 애플리케이션 대상 그룹에 할당된 트래픽과 관련이 있습니다.

  • 원격 분석: 원격 분석은 기능을 평가하기 위한 기능 및 관련 메트릭의 변형에 대한 데이터입니다. Azure에서의 설정의 경우 기능 플래그 평가/할당 데이터는 원격 분석 공급자로 흐릅니다. Application Insights는 실험 설정에 대한 원격 분석 공급자입니다. 정의된 메트릭에 대한 데이터도 동일한 Application Insights 인스턴스로 흐릅니다.

  • A/B 테스트: 분할 테스트라고도 하는 A/B 테스트는 기술 스택 내에서 잠재적인 변경 내용의 영향을 평가하기 위한 업계 표준 방법입니다.

  • 샘플링 크기: 샘플링 크기는 실험 중인 사용자 샘플의 크기입니다. 실험 중인 기능의 변형에 대해 전송된 이벤트 수입니다.

  • 최소 샘플링 크기: 통계적으로 유의한 결과를 표시하기 위해 실험 기능의 변형당 필요한 최소 이벤트 수입니다. 샘플 크기가 클수록 실험 결과의 통계적 유의성이 향상됩니다.

전자 상거래 웹 사이트의 고객이 결제 버튼의 색상이 노란색(변형 A)일 때와 파란색(변형 B)일 때 중 어느 쪽이 더 클릭할 가능성이 높은지 확인하려는 경우를 예로 들어 보겠습니다. 이 비교를 설정하려면 두 가지 변형 기능 플래그의 트래픽을 나누고 클릭 수를 메트릭으로 사용하여 성과를 측정할 수 있습니다. 모든 기능을 간단하게 측정하고 즉시 평가할 수 있는 것은 아니므로 실험이 필요합니다. 실험을 실행하려면 관심 있는 메트릭과 관련된 각 변형의 성과를 비교하는 이 프로세스를 위한 타임라인을 설정해야 합니다. “A/B 테스트”와 “실험”이라는 용어는 종종 같은 의미로 사용되는데, 실험은 본질적으로 가설을 체계적으로 테스트하는 확장된 A/B 테스트입니다.

실험 설정

시작하기 전에 가설 발견 단계에서 ‘실험을 실행하여 어떤 질문에 답하고자 하는가?’라는 질문을 고려해 봅니다. 무엇을 대상으로 실험을 실행해야 하나요? 이유는 무엇입니까? 어디서부터 시작해야 할까요? 비즈니스 요구에 따라 따라야 할 몇 가지 전략은 무엇인가요? 이 실험을 통해 애플리케이션의 성능 또는 비즈니스 성과를 즉시 개선할 수 있나요?

전체 릴리스 전에 실험을 실행하여 달성하려는 작업을 식별합니다. 이 단계에서 계획을 문서화해야 합니다. 실험하려는 기능 또는 기능의 변형은 무엇인가요? 관심 있는 몇 가지 메트릭은 무엇인가요? 이러한 측정 메트릭 위한 데이터를 캡처하려면 사용자 또는 시스템 상호 작용의 어떤 이벤트를 사용하면 될까요?

실험은 수집한 데이터만큼 좋은 결과를 얻을 수 있습니다. 실험을 시작하기 전에 대조군으로 사용할 변형(기준 변형)과 변화를 확인하려는 변형(비교 변형)을 결정해야 합니다.

실험에서 결론 도출

결론(또는 필요한 경우 여러 결론)을 도출하는 것이 실험 주기의 마지막 단계입니다. 실험 결과를 확인하면 비교 변형의 결과와 대조 변형의 영향을 확인할 수 있습니다. 또한 결과에서 통계적 중요성도 확인할 수 있습니다. Statsig 측정값은 원격 분석 데이터 및 샘플 크기에 따라 달라집니다.

결과는 학습한 내용과 결과를 즉시 프로덕션에 구현할 수 있는 실행 가능한 항목으로 결론을 내리는 데 도움이 됩니다. 그러나 실험은 연속적인 프로세스입니다. 제품을 지속적으로 개선하기 위한 새로운 실험을 시작합니다.

실험 사용 시나리오

  • 지능형 애플리케이션(예: AI 기반 기능) Gen AI(일반 AI) 채택을 가속화하고 신속한 실험을 통해 AI 모델 및 사용 사례를 최적화합니다. 실험을 사용하여 AI 모델을 빠르게 반복하고, 다양한 시나리오를 테스트하고, 효과적인 방법을 결정합니다. 이는 진화하는 사용자 요구와 시장 트렌드에 맞춰 AI 솔루션을 민첩하게 조정하고, AI 이니셔티브를 확장하는 데 가장 효과적인 접근 방식을 쉽게 이해할 수 있도록 도와줍니다.

  • CI, CD 및 지속적인 실험(점진적 기능 롤아웃 및 버전 업데이트) 기능 릴리스를 관리하는 동안 각 버전 업데이트에서 원활한 전환을 보장하고 주요 메트릭을 유지 관리하거나 개선합니다. 실험을 통해 기능 플래그를 사용하여 사용자 하위 집합에 새로운 기능을 점진적으로 배포하고, 성능 지표를 모니터링하고, 반복적인 개선을 위한 피드백을 수집합니다. 전체 사용자 기반에 버그 또는 성능 문제가 발생할 위험을 줄이는 것이 좋습니다. 버전 출시 및 기능 플래그 관리 중에 데이터 기반 의사 결정을 수행할 수 있으므로 제품 품질과 사용자 만족도가 향상됩니다.

  • 사용자 환경 최적화(UI A/B 테스트) 다양한 UI 변형을 비교하고 가장 효과적인 디자인을 결정하여 비즈니스 메트릭을 최적화합니다. 실험을 통해 A/B 테스트를 수행하여 UI 요소를 테스트하고, 사용자 상호 작용을 측정하고, 성능 메트릭을 분석합니다. 경험적 증거에 기반한 UI 변경을 구현하여 사용자 경험을 개선하는 것이 가장 좋은 방법입니다.

  • 개인 설정 및 실험 대상 지정 사용자 기본 설정 및 동작에 맞게 맞춤형 콘텐츠 및 환경을 제공합니다. 실험을 통해 개인 설정된 콘텐츠를 테스트하고, 참여도를 측정하고, 개인화 전략을 반복할 수 있습니다. 그 결과, 관련성 있고 개인화된 경험을 통해 사용자 참여도, 전환율, 고객 충성도가 향상됩니다. 이러한 결과는 맞춤형 메시지 및 제안으로 대상 그룹을 대상으로 하여 수익 증가 및 고객 보존을 촉진합니다.

  • 성능 최적화 실험 성능 최적화 실험을 통해 애플리케이션 성능을 개선하고 효율적인 사용자 환경을 제공합니다. 실험을 수행하여 향상된 성능을 테스트하고, 주요 메트릭을 측정하고, 성공적인 최적화를 구현합니다. 여기서 실험은 사전 예방적 성능 향상을 통해 애플리케이션 확장성, 안정성 및 응답성을 향상합니다. 또한 효율적인 최적화를 구현하여 리소스 사용률 및 인프라 비용을 최적화합니다.

실험 작업

  • 실험 만들기: 원격 분석을 내보내는 변형 기능 플래그에서 실험을 만들 수 있습니다. 실험이 만들어지면 실험 버전도 실험과 함께 만들어집니다. 기능 플래그를 추가로 편집하면 해당 실험에 대한 새 실험 버전이 만들어집니다.

  • 보관 실험: 실험을 보관하면 실험이 보관된 상태가 됩니다. 실험이 보관되는 동안에는 실험에서 계산이 수행되지 않습니다. 나중에 언제든지 실험을 복원하여 계산을 다시 시작하고 활성 상태로 돌아갈 수 있습니다.

  • 실험 복구: 실험을 복구하면 보관된 실험이 활성 상태로 설정되고 실험에 대한 계산이 다시 시작됩니다.

  • 실험 삭제: 실험을 삭제하면 Split 및 모든 관련 데이터에서 실험이 삭제됩니다. 취소할 수 없는 작업이므로 삭제 후에는 복원되지 않습니다.

  • 실험 결과 확인: 활성 실험의 결과를 확인하면 실험의 각 변형이 어떻게 수행되는지 확인할 수 있습니다.

실험 작업에 대한 액세스 요구 사항

다음 섹션에서는 Microsoft Entra ID를 사용하여 실험 관련 작업을 수행하는 데 필요한 역할을 자세히 설명합니다.

실험 설정

분할 실험 작업 영역을 포함하여 필수 리소스로 실험을 설정하려면 Azure 구독 소유자 역할 또는 구독 기여자와 사용자 액세스 관리자 역할의 조합이 필요합니다.

실험 만들기 또는 업데이트

실험을 생성, 업데이트, 보관 또는 삭제하려면 App Configuration 저장소에서 App Configuration 데이터 소유자 역할이 필요합니다. 또한 연결된 Split 실험 작업 영역에 대한 데이터 액세스를 관리하는 Enterprise 앱에서 ExperimentationDataOwner 역할이 필요합니다.

실험 결과 읽기

실험, 해당 버전 및 결과를 확인하려면 App Configuration 저장소에서 App Configuration 데이터 읽기 권한자 역할이 필요합니다. 또한 연결된 Split 실험 작업 영역에 대한 데이터 액세스를 관리하는 Enterprise 앱에서 ExperimentationDataReader 또는 ExperimentationDataOwner 역할이 필요합니다.

청구 고려 사항 및 제한 사항

App Configuration은 실험에 대해 특별히 비용을 청구하지 않습니다. 실험은 Split 실험 작업 영역(미리 보기)에 통합되어 제공됩니다. Azure App Configuration용 Split 실험에 대한 가격 책정 플랜 을(를) 확인하세요.

분할 실험에 필요한 최소 샘플 크기는 변형당 30입니다. 실험 결과를 얻으려면 최소 샘플 크기가 실험에 필요하거나 결과에 "데이터 없음"이 표시되는 실험이 필요합니다.

다음 단계