어떤 개발툴을 다운받으려 할 때 Canary라고 부르는 것들이 있습니다. 예를들어, 구글에서는 "가볍게 테스트된 빌드의 최신 기능을 이용하세요"라면서 Android Studio Canary 버전을 공개하였습니다. 또, MS에서는 Chromium Edge browser를 공개하면서 카나리(Canary) 버전을 릴리즈했습니다. 여러 회사에서 사용하는 것을 보고 카나리는 특정 회사에서 쓰는 것이 아니고, 테스트 버전을 의미한다는 것을 알았습니다. 그럼 카나리아는 정확히 무엇을 말하는 것일까요? 저 용어는 어디서 온 것일까요?
카나리는 무엇인가?
Canary development, test라는 용어가 있습니다. 안정적인 버전을 릴리즈하기 전에 테스트버전을 일부 사용자에게 배포하는 것을 말합니다. 만약 카나리 버전에 심각한 버그가 발생된다고 해도 사용하는 사용자가 적기 때문에 피해를 최소화할 수 있습니다. 또한 안정적인 버전과 테스트 버전이 모두 배포된 상태이기 때문에 A/B 테스트가 가능합니다.
카나리(Canary)의 기원
Canary의 사전적 의미는 카나리아
라는 새 입니다. 카나리아는 석탄 광산에서 유독가스 누출의 위험을 알리는 용도로 사용되었습니다.
탄광에서 유독가스가 많이 발생하면 사람이 죽을 수 있는데요, 카나리아가 사람보다 먼저 죽기 때문에, 이것으로 유독가스 누출의 지표로 사용할 수 있었습니다.
위처럼 일부에게 배포하는 개발방법에 카나리아 라는 새의 이름을 붙였습니다. 심각한 버그가 발생했을 때, 매우 적은 소수의 사용자만 피해를 보는 것이 카나리아가 탄광에서 광부들에게 위험을 알리는 것과 비슷했기 때문입니다.
Related Posts
- Python - Yaml 파일 파싱하는 방법
- Python - pip와 requirements.txt로 패키지 관리
- 유튜브 쇼츠(Shorts) 자막 끄기/켜기
- SOLID 원칙, 객체지향 설계 5가지 원칙
- Ubuntu 20.04 - Nginx로 React를 배포하는 방법
- 애드센스 '구글 검색 기능' 블로그에 추가
- 트위터 이메일 안오게, 알림 끄기
- 인스타그램 동영상, 사진 저장 방법
- Git 설치 방법 (Ubuntu, Windows)
- Python pip 설치 (Ubuntu / Windows)
- 마우스 우클릭 복사 방지 해제 방법 (크롬)
- Python 에러 해결, 'conda' 용어가 cmdlet, 함수, 스크립트 ... 인식되지 않습니다.
- Python 에러 해결, AttributeError: module 'jwt' has no attribute 'encode'
- Atom - 코드 자동 정렬
- Sublime Text - 코드 자동 정렬, 단축키 설정
- VSCode에서 탭 간격 설정 (Tab to 4 spaces)
- Visual Studio Code에서 코드 자동 정렬
- 구글 검색 기록 삭제, 자동 저장 끄기 (PC, 모바일)
- 안드로이드 개발자 옵션 활성화, USB 디버깅 켜기
- 유튜브 채널 차단, 해제 방법 (PC, 모바일)
- 유튜브 미리보기 자동재생 끄기 (자동 소리 끄기/켜기)
- PC에서 유튜브 모바일 버전(m.youtube.com)으로 보기
- 모바일에서 유튜브 PC버전으로 보기
- 유튜브 시간 링크 만들기, 댓글에 시간 태그 입력하기
- 유튜브 스크립트 함께 보기, 자막 추출 방법
- 유튜브 알고리즘 초기화, 검색 기록과 시청 기록 삭제
- 유튜브 '싫어요' 숫자 다시 보이게 하기
- 구글 크롬, 방금 닫은 탭 다시 열기
- Maven으로 Java프로젝트 build하는 방법
- node.js, npm 버전 확인 방법 (터미널, cmd 명령어)
- GitLab - 'pre-receive hook declined' 에러 해결
- Javacript Heap Out Of Memory 문제 해결
- SSH key 생성하고 GitHub에 등록
- GMT, UTC의 차이점
- Linux(Ubuntu)에 Adobe Photoshop, Illustrator 설치하는 방법