Chrome 변형 이해하기

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

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

Chrome 변형이란 무엇인가요?

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

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

  • Chrome 엔지니어가 특정 변경사항을 특히 주의하여 적용하도록 허용합니다. 브라우저 성능에 위험이 있다고 생각하거나 다른 우려사항이 있을 수 있습니다.
  • 변경사항 또는 업데이트에 관한 가설을 검증합니다. 예를 들어 Chrome 변형 그룹의 일부 사용자를 위해 QUIC 네트워킹 프로토콜 매개변수를 수정하여 사용자의 실제 네트워크 조건에 맞게 Chrome 속도를 높였습니다.
  • 오리진 트라이얼 기능의 활성화를 제어합니다. 기본적으로 유효한 트라이얼 토큰을 제공하는 모든 페이지에서 오리진 트라이얼이 사용 설정됩니다. 하지만 유효한 무료 체험 토큰을 제공하는 페이지를 방문하더라도 특정 사용자에게는 기능이 제공되지 않을 수 있습니다.

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

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

브라우저 및 운영체제에 관한 정보는 Chrome 변형 백엔드로 전송됩니다. Chrome 변형 시드는 무작위화 시드가 있는 브라우저로 이동합니다.

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

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

기능 출시 및 Chrome 채널

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

Chrome은 Chrome Canary, Dev, 베타에서의 사용 및 테스트를 통해 소중한 의견을 받습니다. 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 백엔드로 전송할 수 있습니다.

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

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

현장 시험

기능의 각 변형 세트를 연구 또는 현장 시험이라고 하며, 각 변형 세트에는 고정된 기간이 있습니다. 연구가 완료되면 기본이 아닌 동작 그룹에 포함된 모든 사용자에게 기능의 기본 Chrome 설정(사용 또는 사용 중지)이 적용됩니다.

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

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

엔터프라이즈용 Chrome 변형

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

자세히 알아보기