Chrome 변형 이해하기

Chrome 변형(Chrome 현장 실험이라고도 함) 또는 내부 코드명인 Chrome Finch에 대해 들어보셨을 수도 있습니다.

모두 동일한 것을 나타내는 이름입니다. Chrome 브라우저 또는 Chromebook에서 실행되는 Chrome 운영체제인 ChromeOS의 새로운 기능이나 변경사항을 테스트하는 메커니즘입니다.

Chrome 변형이란 무엇인가요?

Chrome 변형을 사용하면 Chrome에서 일부 사용자를 대상으로 새 기능을 활성화하거나 기능을 비활성화하거나 기능 변경을 시도할 수 있습니다.

Chrome의 모든 기능이 Chrome 변형을 사용하여 도입되는 것은 아닙니다. 하지만 Chrome팀은 필요할 때마다 Chrome 변형을 사용할 수 있습니다. Chrome 변형은 다음과 같은 용도로 사용할 수 있습니다.

  • Chrome 엔지니어가 특정 변경사항을 적용할 때 특히 주의하도록 허용합니다. 브라우저 성능에 위험이 있거나 다른 우려사항이 있을 수 있습니다.
  • 변경사항 또는 업데이트에 관한 가설을 검증합니다. 예를 들어 Chrome 변형 그룹의 사용자 중 일정 비율에 대해 QUIC 네트워킹 프로토콜 매개변수를 수정하여 사용자의 실제 네트워크 상태에 맞게 Chrome을 더 빠르게 만들었습니다.
  • 출처 체험판 기능의 활성화를 제어합니다. 기본적으로 유효한 무료 체험 토큰을 제공하는 모든 페이지에서 출처 무료 체험이 사용 설정됩니다. 하지만 유효한 무료 체험판 토큰을 제공하는 페이지를 방문하더라도 특정 사용자는 이 기능을 사용할 수 없는 경우가 있습니다.

Chrome 변형은 어떻게 작동하나요?

데스크톱 또는 모바일에서 30분마다 또는 Chrome을 시작할 때마다 브라우저는 Chrome 백엔드에 Chrome Variations 구성 파일(변형 시드라고 함)을 가져오도록 요청합니다. Chrome Variations 시드를 제공하는 전용 서버가 있습니다. Chrome이 서버에 HTTPS 요청을 보내면 서버는 델타 압축 시드로 응답합니다.

브라우저 및 운영체제에 관한 정보는 Chrome Variations 백엔드로 전송됩니다. Chrome Variations 시드는 브라우저로 전달되며 브라우저에는 무작위 시드가 있습니다.

기기의 Chrome이 시드 파일을 요청하면 Chrome은 버전 번호와 실행 중인 운영체제를 제공합니다. Chrome Variations 백엔드에서 반환하는 파일은 기능을 사용 설정하거나 사용 중지하거나 기능의 변형을 지정하는 데 사용됩니다.

Chrome은 시드 파일의 데이터와 로컬에 저장된 무작위 시드를 사용하여 브라우저를 대안 그룹에 무작위로 할당합니다. 기기의 브라우저는 속한 대안 그룹을 추적합니다.

기능 출시 및 Chrome 채널

Chrome 변형의 가장 중요한 용도 중 하나는 변경사항이나 새 기능을 Chrome 클라이언트의 일부에 점진적으로 도입하는 것입니다. 이는 수십억 명의 사용자가 있고, 여러 플랫폼에 수천 개의 기기 유형이 있으며, 수백만 개의 서로 다른 앱과 웹사이트에 수십 개의 서로 다른 언어가 사용되는 Chrome과 같은 복잡한 애플리케이션에 매우 중요합니다.

Chrome은 Chrome Canary, 개발자, 베타의 사용 및 테스트에서 유용한 의견을 수집합니다. Chrome 변형을 사용하여 이러한 출시 채널 내에서 기능을 활성화하거나 비활성화할 수 있습니다. 하지만 이러한 채널은 주로 개발자와 기타 전문가가 사용합니다.

Chrome 안정화 버전 사용자는 Chrome과 다르게 상호작용하며 훨씬 더 많은 수의 사용자가 Chrome을 사용하므로 항상 안정화 버전 채널에서 검증해야 합니다. 이를 통해 일반적인 브라우저 사용 시 발생하는 문제를 해결할 수 있습니다. Chrome 엔지니어는 실제 사용자가 변경사항과 새로운 기능에 대규모로 어떻게 반응할지 항상 예측할 수 있는 것은 아닙니다.

Chrome 변형을 사용하면 Chrome 안정화 버전의 사용 및 측정항목을 확인할 수 있습니다. Chrome 안정화 버전에서 변경사항의 영향을 측정하면 절충사항이 복잡하더라도 최상의 기능을 제공하고 더 나은 브라우저를 빌드할 수 있습니다.

Chrome 엔지니어는 언제 Chrome 변형을 사용하나요?

Chrome에 Chrome 변형이 필요한 세 가지 주요 이유는 다음과 같습니다.

새 기능 활성화

Chrome 변형을 사용하여 새 기능의 활성화를 제어하는 것은 어떤 면에서든 더 위험하거나 성능에 영향을 줄 수 있는 항목에 특히 유용합니다.

Chrome 변형을 사용하면 일부 사용자에게 새로운 기능을 제공할 수 있습니다. 그러면 Chrome 엔지니어가 성능 차이를 확인하거나 대안 그룹의 다른 유형의 의견을 살펴볼 수 있습니다.

기능 비활성화하기

Chrome 변형은 기능을 사용 중지하는 안전 메커니즘으로 사용될 수 있지만, 이는 드물게 발생합니다.

예를 들어 새로운 네트워킹 기능이 서비스 거부 공격의 대상이 될 수 있습니다. Chrome 변형을 사용하면 이 기능을 빠르게 사용 설정할 수 있습니다. Chrome 변형 구성은 30분마다 다운로드되고 Chrome을 다시 시작할 때마다 설정이 활성화되기 때문입니다.

반면 Chrome을 업데이트하고 수십억 명의 사용자에게 새 버전이 적용될 때까지 기다리면 훨씬 느려집니다.

기능 변경사항 시도

Chrome 변형은 변경사항 및 업데이트를 검증하는 데 사용할 수 있습니다. 예를 들어 Chrome 오프라인 공룡 게임의 난이도를 미세 조정하여 상호작용이 더 재미있어질 수 있습니다.

Chrome 변형은 새 기능의 장기적인 영향을 연구하는 데도 사용할 수 있습니다. Chrome 변형 메커니즘을 사용하여 소수의 사용자(1% 미만)에게 기능을 보류하는 방식으로 이루어집니다. 홀드백 그룹은 시간이 지나야 표시되는 변경사항과 부작용을 확인하는 데 유용할 수 있습니다.

홀드백 그룹은 사용자가 기능이 새로 도입되었을 때는 기능과 상호작용할 가능성이 높지만 장기적으로는 다르게 작동할 수 있는 사용자 인터페이스 변경사항에 특히 중요할 수 있습니다.

예를 들어 Chrome에서 사진 선택 도구를 출시했지만 결과를 비교하기 위해 소수의 사용자에게 일시적으로 이 기능을 보류했습니다. Google에서는 상당수의 사용자에게 새로운 Android 포토 선택 도구를 제공했으며, 처음에는 그룹에서 웹에 공유하는 이미지 수가 크게 증가했습니다. 하지만 보류 변형이 적용된 6개월 동안 사용량이 크게 감소했습니다. 이는 새 사진 선택 도구를 사용할 수 있게 되면서 사이트에서 파일 입력 요소에 accept 속성을 추가하도록 유도되었기 때문입니다. 그 결과 모든 사용자에게 더 나은 환경이 제공되었습니다.

Chrome 변형은 검증에 어떻게 사용되나요?

Chrome의 기능 및 성능 개선에 참여하는 설정을 사용 설정하면(chrome://settings/syncSetup?search=improve) Chrome에서 사용자 측정항목 분석 (UMA)을 사용하여 측정항목을 자동으로 모니터링하고 Chrome 백엔드로 전송할 수 있습니다.

CSS 속성 또는 HTML 또는 JavaScript 기능을 사용하는 페이지 로드의 비율과 같은 Chrome의 익명 사용 통계의 예는 chromestatus.com/metrics에서 확인할 수 있습니다.

Chrome 대안은 한 사용자 그룹의 통계를 다른 사용자 그룹의 통계와 비교하는 데 특히 유용합니다. 예를 들어 일부 사용자에게는 기능을 사용 설정하고 다른 사용자에게는 사용 중지할 수 있으며 Chrome에서는 각 그룹의 측정항목을 비교할 수 있습니다. 이러한 측정항목에는 메모리 사용량, 페이지 로드 시간 또는 브라우저 기능 사용이 포함될 수 있습니다. 이를 통해 Chrome 엔지니어는 기능을 사용 설정한 사용자, 기능을 사용 중지한 사용자, 기능이 다른 사용자 간에 성능이나 기타 측정항목을 비교할 수 있습니다.

필드 실험

기능의 각 변형 집합을 연구 또는 현장 실험이라고 하며, 각 변형 집합에는 고정된 기간이 있습니다. 연구가 완료되면 기본이 아닌 행동 그룹에 포함된 모든 사용자는 사용 설정 또는 사용 중지 중 하나인 기능의 기본 Chrome 설정을 받게 됩니다.

Chrome 변형으로 제어할 수 있는 대부분의 기능은 chrome://flags 페이지에서 설정할 수 있는 플래그에 해당합니다. 또는 명령줄에서 Chrome을 실행하는 경우 --enable-features--disable-features 플래그를 사용하여 Chrome Variations를 구성할 수 있습니다.

--reset-variation-state 플래그는 현재 클라이언트의 Chrome 변형 상태를 강제로 재설정합니다. 즉, 클라이언트가 다른 Chrome 변형 그룹으로 이동할 수 있습니다.

엔터프라이즈용 Chrome 변형

Chrome에서는 엔터프라이즈 고객을 위해 Chrome 변형을 관리하는 Chrome 변형 정책도 제공합니다. Chrome에서 중요한 보안 수정사항을 빠르게 제공할 수 있도록 Chrome 변형을 사용 설정된 상태로 두는 것이 좋습니다.

자세히 알아보기