Chrome에서 새로운 브라우저 기능을 테스트하는 메커니즘
Chrome 변형, Chrome 필드 체험판, 또는 내부 코드명인 Chrome Fitch에 관해 들어보셨을 것입니다.
Chrome 브라우저 또는 Chromebook에서 실행되는 Chrome 운영체제인 ChromeOS의 새로운 기능이나 변경사항을 테스트하는 메커니즘을 의미합니다.
Chrome 변형의 용도는 무엇인가요?
Chrome 변형을 사용하면 Chrome에서 새로운 기능을 활성화하거나, 기능을 비활성화하거나, 일부 사용자를 위해 기능의 변경사항을 사용해 볼 수 있습니다.
Chrome의 모든 기능이 Chrome 변형 메커니즘을 사용하여 도입되는 것은 아닙니다. 하지만 변경에 특히 주의해야 하거나 변경사항이 예상치 못한 방식으로 성능에 영향을 미칠 위험이 있는 경우 Chrome팀에서 Chrome 변형을 사용할 수 있습니다. '변경'은 Chrome 코드의 성능 향상, 브라우저의 모양이나 작동 방식에 대한 업데이트 또는 JavaScript API의 수정을 의미할 수도 있습니다.
Chrome 변형은 변경이나 업데이트에 대한 가설을 검증하는 데에도 사용할 수 있습니다. 예를 들어 Chrome 변형 그룹의 일부 사용자를 대상으로 QUIC 네트워킹 프로토콜 매개변수를 조정하여 사용자의 실제 네트워크 조건에 맞게 Chrome의 속도를 높이려고 시도했습니다.
Chrome 변형이 발생할 수 있는 또 다른 영역은 Chrome의 오리진 트라이얼을 사용하는 경우에도 발생할 수 있습니다. 기본적으로 오리진 트라이얼 기능은 유효한 트라이얼 토큰을 제공하는 모든 페이지에 사용 설정되어 있지만, 경우에 따라 Chrome 변형이 기능의 활성화를 제어하는 데 사용됩니다. 즉, 특정 사용자는 유효한 체험판 토큰을 제공하는 페이지를 방문하더라도 오리진 트라이얼 기능을 사용하지 못할 수 있습니다. 오리진 트라이얼 기능을 활성화할 수 있는 사용자 비율에 관한 정보는 각 오리진 트라이얼에 관한 문서 및 업데이트와 함께 제공됩니다.
Chrome 변형은 어떻게 작동하나요?
데스크톱이나 모바일에서 30분마다 또는 Chrome을 시작할 때마다 브라우저가 Chrome 백엔드에 요청하여 변형 시드라고 하는 Chrome 변형 구성 파일을 가져옵니다. 즉, Chrome 변형 시드를 제공하는 전용 서버가 있습니다. Chrome이 서버에 HTTPS 요청을 보내면 서버는 델타 압축 시드로 응답합니다.
기기의 Chrome이 시드 파일을 가져오기 위해 Chrome 변형 백엔드에 연결할 때 Chrome 버전과 Chrome 버전 및 실행 중인 운영체제에 관한 정보도 제공됩니다. Chrome 변형 백엔드에서 반환하는 파일은 기능을 사용 설정하거나 기능을 사용 중지하거나 기능의 변형을 지정하는 데 사용됩니다.
Chrome은 시드 파일의 데이터와 로컬에 저장된 무작위 순서 지정 시드를 사용하여 브라우저를 변형 그룹에 무작위로 할당합니다. 즉, Chrome 변형 백엔드의 시드 파일과 결합된 무작위 시드를 사용하여 일부 사용자의 브라우저에서 기능을 활성화하거나 비활성화할 수 있습니다. 기기의 브라우저는 브라우저가 속한 변형 그룹을 추적합니다.
기능 출시 및 Chrome 채널
Chrome 변형의 가장 중요한 용도 중 하나는 일부 Chrome 클라이언트에 단계적으로 변경사항 또는 새 기능을 단계적으로 적용하는 것입니다. 이는 수십억 명의 사용자가 있고 여러 플랫폼에 수천 가지 유형의 기기가 있고 수백만 개의 앱과 웹사이트에 수십 개의 다른 언어를 사용하는 Chrome과 같은 복잡한 애플리케이션에 매우 중요합니다.
Chrome은 Chrome Canary, 개발자, 베타에서의 사용 및 테스트를 통해 소중한 의견을 받습니다. Chrome 변형을 사용하여 이러한 출시 채널 내에서 기능을 활성화하거나 비활성화할 수 있습니다. 하지만 이러한 채널은 주로 개발자와 기타 전문가가 사용합니다. Chrome 안정화 버전 사용자는 Chrome과 상호작용하는 방식이 다양하며 그 수가 많기 때문에 항상 안정화 버전 채널에서 검증해야 합니다. 이렇게 하면 일반적인 브라우저 사용에서 발생하는 문제를 해결할 수 있습니다. Chrome 엔지니어는 실제 사용자가 변경사항과 새로운 기능에 어떻게 반응할지를 대규모로 예측할 수는 없습니다.
Chrome 변형은 이를 지원하는 중요한 메커니즘으로, 기능을 활성화하거나 비활성화한 Chrome 안정화 버전의 사용량 및 측정항목을 확인할 수 있습니다. Chrome 안정화 버전에서 변경사항이 미치는 영향을 측정함으로써 절충이 복잡한 경우에도 가능한 한 최상의 기능을 제공하고 더 나은 브라우저를 빌드할 수 있습니다.
Chrome 엔지니어는 언제 Chrome 변형을 사용하나요?
Chrome에 Chrome 변형 버전이 필요한 주된 이유로는 세 가지가 있습니다.
새 기능 활성화
Chrome 변형을 사용하여 새로운 기능의 활성화를 제어하는 기능은 어떤 식으로든 더 위험할 수 있거나 성능에 영향을 미칠 수 있는 모든 경우에 특히 유용합니다.
Chrome 변형을 통해 일부 사용자에게 새로운 기능을 제공할 수 있습니다. 그러면 Chrome 엔지니어가 성능 차이를 확인하거나 변형 그룹에서 다른 유형의 의견을 살펴볼 수 있습니다.
기능 비활성화
Chrome 변형은 기능을 사용 중지하는 안전 메커니즘으로 사용할 수 있지만 이는 드물게 발생합니다.
예를 들어, 새로운 네트워킹 기능이 서비스 거부 공격의 대상이 될 수 있습니다. Chrome 변형 구성은 30분마다 다운로드되고 Chrome을 다시 시작할 때마다 설정이 활성화되므로 Chrome 변형을 사용하여 이러한 기능을 신속하게 사용 중지할 수 있습니다. 이와 달리 Chrome을 업데이트하고 새 버전이 수십억 명의 사용자에게 전파될 때까지 대기하면 속도가 훨씬 느려집니다.
기능 변경하기
마지막으로 Chrome 변형을 사용하여 변경사항과 업데이트를 확인할 수 있습니다. 예를 들어, Chrome 오프라인 공룡 게임 난이도를 미세 조정하여 상호작용을 더 재미있게 만들 수 있습니다.
Chrome 변형을 사용하여 새로운 기능의 장기적인 효과를 연구할 수도 있습니다. Chrome 변형 메커니즘을 사용하여 소수의 사용자(1% 이하)를 대상으로 기능을 보류하면 됩니다. 홀드백 그룹은 시간이 지남에 따라만 드러나는 변경사항과 부작용을 확인하는 데 유용할 수 있습니다.
홀드백 그룹은 특히 사용자 인터페이스 변경 시 중요할 수 있습니다. 즉, 사용자가 새로운 기능일 때 기능과 상호작용할 가능성이 높지만 장기적으로는 다르게 동작할 수 있습니다.
예를 들어 Chrome에 사진 선택 도구를 출시했지만 결과를 비교하기 위해 소수의 사용자에게 이 기능이 일시적으로 보류되었습니다. Google은 대다수의 사용자에게 새로운 Android 사진 선택 도구를 제공했으며, 그 결과 처음에 그룹에서 공유하는 이미지의 수가 크게 증가했습니다. 그러나 홀드백 편차가 발생한 6개월 동안 사용량 증가가 크게 감소했습니다. 이는 새로운 사진 선택 도구를 사용할 수 있게 되면서 사이트에서 파일 입력 요소에 허용 속성을 추가하도록 권장했기 때문입니다. 그 결과 모든 사용자에게 더 나은 환경이 제공되었습니다.
확인에 Chrome 변형이 어떻게 사용되나요?
Chrome의 기능 및 성능 개선에 도움이 되는 설정이 사용 설정되면(chrome://settings/syncSetup?search=improve
) Chrome은 사용자 측정항목 분석 (UMA)이라는 메커니즘을 사용하여 측정항목을 자동으로 모니터링하고 Chrome 백엔드로 전송할 수 있습니다. chromestatus.com/metrics에서 CSS 속성, HTML 또는 자바스크립트 기능을 사용하는 페이지 로드 비율 등 Chrome의 익명 사용 통계 예시를 확인할 수 있습니다.
Chrome 변형은 한 사용자 그룹의 통계를 다른 사용자 그룹과 비교하는 데 특히 유용합니다. 예를 들어 특정 기능을 일부 사용자에게만 사용 설정할 수 있으며 Chrome은 각 그룹의 측정항목을 비교할 수 있습니다. 이러한 측정항목에는 메모리 사용량, 페이지 로드 시간 또는 브라우저 기능 사용량이 포함될 수 있습니다. 이를 통해 Chrome 엔지니어는 기능을 사용 설정한 사용자, 기능을 사용 중지한 사용자 또는 기능 변형이 서로 다른 사용자 간에 성능이나 기타 측정항목을 비교할 수 있습니다.
Chrome 변형 필드 체험판
특성의 각 변형 세트를 연구 또는 필드 체험판이라고 하며, 각 변형에는 기간이 정해져 있습니다. 기능에 대한 연구가 끝나면 기본이 아닌 행동 그룹에 포함된 모든 사용자에게 해당 기능의 기본 Chrome 설정(사용 설정 또는 사용 중지)이 적용됩니다.
Chrome 변형에서 제어할 수 있는 대부분의 기능은 chrome://flags
페이지에서 설정할 수 있는 플래그에 해당합니다. 또는 명령줄에서 Chrome을 실행하는 경우 --enable-features
및 --disable-features
플래그를 사용하여 Chrome 변형을 구성할 수 있습니다.
--reset-variation-state
플래그는 현재 클라이언트의 Chrome 변형 상태를 강제로 재설정합니다. 즉, 클라이언트가 다른 Chrome 변형 그룹으로 이동할 수 있습니다.
엔터프라이즈용 Chrome 변형
엔터프라이즈 고객을 위해 Chrome에서는 Chrome 변형을 관리하기 위한 ChromeVariations 정책도 제공합니다. 물론 Chrome 변형을 사용 설정하여 Chrome이 중요한 보안 수정사항을 신속하게 제공할 수 있도록 하는 것이 좋습니다.