클라우드와 컨테이너의 기초

1시간에 12,000건의 요청을 받는 서비스에서 새 버전을 카나리 릴리스하여, 요청의 5%만 새 버전으로 보냈다. 새 버전에는 받은 요청의 3%가 실패하는 결함이 있었고, 1시간 뒤에 알아차려 모든 요청을 원래 버전으로 되돌렸다. 이 1시간 동안 결함으로 실패한 요청의 건수로 올바른 것은?

  1. A18건
  2. B360건
  3. C600건
정답과 해설 보기

정답: A. 18건

새 버전으로 보내진 요청은 12,000 × 5% = 600건이고, 그중 3%가 실패하므로 600 × 3% = 18건입니다. 모든 요청을 한 번에 새 버전으로 전환했다면 12,000 × 3% = 360건이 실패했을 것입니다. 카나리 릴리스는 이처럼 결함의 영향을 받는 요청을 일부로 한정하고, 오류율이나 응답 시간 등을 보면서 문제가 없으면 비율을 늘려 가는 방법입니다. 새 버전과 이전 버전의 지표를 비교하려면 충분한 수의 요청이 필요하므로, 보내는 비율과 관찰하는 시간을 함께 정합니다.

이 분야 연습하기 분야로 돌아가기

클라우드와 컨테이너의 기초의 다른 문제

  1. CI/CD 파이프라인에서 만든 컨테이너 이미지를 스테이징 환경에서 시험하여 합격했다. 이 이미지를 운영 환경에 내보내는 방법으로 가장 적절한 것은?
  2. 위와 같이 데이터베이스의 접속 대상을 이미지에 써 넣지 않고, 컨테이너를 시작할 때 환경 변수로 전달하도록 했다. 이 설계의 주된 이점으로 가장 적절한 것은?
  3. 여러 서비스가 연계하여 동작하는 시스템에서, 이용자의 요청 하나가 어떤 서비스를 어떤 순서로 거쳤고 각각에서 시간이 얼마나 걸렸는지 조사하고 싶다. 관측 가능성을 위한 데이터 중 가장 적합한 것은?
  4. Linux의 컨테이너를 실현하는 커널 기능 중 네임스페이스(namespaces)와 cgroups(컨트롤 그룹)의 역할의 조합으로 올바른 것은?
  5. Linux 호스트에서 Docker를 사용하여, 호스트와는 다른 배포판을 바탕으로 한 이미지로 컨테이너를 시작하고, 그 안에서 uname -r(커널의 릴리스를 표시하는 명령)과 cat /etc/os-release(배포판 정보를 표시하는 명령)를 실행했다. 결과의 설명으로 올바른 것은?