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

여러 서비스가 연계하여 동작하는 시스템에서, 이용자의 요청 하나가 어떤 서비스를 어떤 순서로 거쳤고 각각에서 시간이 얼마나 걸렸는지 조사하고 싶다. 관측 가능성을 위한 데이터 중 가장 적합한 것은?

  1. A메트릭(CPU 사용률이나 요청 수 등 수치의 시계열)
  2. B로그(각 서비스가 출력하는 사건의 기록)
  3. C트레이스(요청 하나의 경로와 각 구간의 시간 기록)
정답과 해설 보기

정답: C. 트레이스(요청 하나의 경로와 각 구간의 시간 기록)

관측 가능성은 밖으로 나오는 데이터로부터 시스템 내부의 상태를 추측할 수 있는 정도이며, 이를 위한 데이터로 메트릭, 로그, 트레이스가 자주 꼽힙니다. 트레이스(분산 트레이싱)에서는 요청에 공통 식별자를 붙여 서비스 사이에서 주고받고, 각 서비스에서의 처리 구간(스팬)의 시작과 종료 시각을 기록하여 요청 하나의 경로와 시간의 내역을 조립합니다. 메트릭은 전체 경향이나 이상 감지에, 로그는 개별 사건의 자세한 조사에 적합하지만, 서비스를 넘나드는 요청 하나의 흐름을 좇는 데에는 트레이스가 가장 적합합니다. 실제로는 트레이스의 식별자를 로그에도 써 두고, 셋을 조합하여 원인을 조사합니다.

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

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

  1. Linux의 컨테이너를 실현하는 커널 기능 중 네임스페이스(namespaces)와 cgroups(컨트롤 그룹)의 역할의 조합으로 올바른 것은?
  2. Linux 호스트에서 Docker를 사용하여, 호스트와는 다른 배포판을 바탕으로 한 이미지로 컨테이너를 시작하고, 그 안에서 uname -r(커널의 릴리스를 표시하는 명령)과 cat /etc/os-release(배포판 정보를 표시하는 명령)를 실행했다. 결과의 설명으로 올바른 것은?
  3. 컨테이너 이미지와 컨테이너의 관계에 대한 설명으로 올바른 것은?
  4. 어떤 이미지로 시작한 컨테이너 안에서, 이미지에 포함된 설정 파일 /etc/app.conf를 수정했다. Docker의 일반적인 스토리지 구조(overlay2 등)에서 일어나는 일로 올바른 것은?
  5. 500 MB의 아카이브 data.tar.gz를 풀기 위해 위의 Dockerfile로 이미지를 만들었다. 압축을 푼 뒤 같은 RUN 안에서 아카이브를 삭제했는데도, 이미지 크기는 아카이브만큼 큰 채로였다. 이유와 대책의 조합으로 가장 적절한 것은?