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

서버리스 함수(FaaS)에서, 한동안 호출되지 않았던 함수의 첫 호출만 응답이 수백 밀리초에서 수 초 늦어지는 경우가 있다. 이 현상의 설명으로 올바른 것은?

  1. A첫 호출의 결과가 캐시되어, 두 번째 이후로는 함수의 코드가 실행되지 않고 저장된 결과만 반환되기 때문에
  2. B함수를 실행할 환경을 새로 준비하고, 언어 런타임의 시작이나 초기화 처리를 수행하는 데 시간이 걸리기 때문에(콜드 스타트)
  3. C첫 호출에서는 함수의 코드가 이용자의 단말로 보내져, 단말 위에서 컴파일된 뒤 실행되기 때문에
정답과 해설 보기

정답: B. 함수를 실행할 환경을 새로 준비하고, 언어 런타임의 시작이나 초기화 처리를 수행하는 데 시간이 걸리기 때문에(콜드 스타트)

서버리스 함수에서는 사업자가 실행 환경(컨테이너나 경량 가상 머신 등)을 필요에 따라 준비하고, 한동안 사용되지 않으면 정리합니다. 정리된 뒤의 첫 호출에서는 환경 준비, 언어 런타임의 시작, 함수의 초기화 처리가 필요해지며, 그만큼 응답이 늦어집니다. 이어서 호출되면 준비된 환경이 재사용되므로 빨라집니다(웜 스타트). 대책으로는 초기화 처리나 읽어 들이는 라이브러리를 가볍게 하거나, 미리 일정 수의 환경을 준비해 두는 설정을 사용하는 방법 등이 있습니다.

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

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

  1. 클라우드 스토리지를 ① 가상 머신에 디스크로 연결하여 파일 시스템을 만들고 데이터베이스의 데이터 파일을 둔다, ② 여러 서버에서 동시에 마운트하여 공유 디렉터리로 사용한다, ③ HTTP의 API로 키(이름)를 지정하여 대량의 이미지를 읽고 쓰며, 용량을 미리 정하지 않고 늘린다는 세 가지 용도로 사용한다. ①~③에 적합한 스토리지 종류의 조합으로 적절한 것은?
  2. 1시간당 40엔(가상의 단가)으로, 사용한 시간만큼만 요금이 드는 가상 머신을 사용한다. 평상시에는 2대를 1개월(30일) 동안 계속 가동하고, 평일 20일은 매일 6시간만 부하에 맞추어 4대를 추가한다. 1개월의 요금으로 올바른 것은?
  3. 어떤 가상 머신은 사용한 시간만큼 지불하는 온디맨드로는 1시간당 50엔, 1년분의 이용을 미리 약정하는 예약으로는 사용한 시간과 관계없이 1년에 262,800엔이 든다(둘 다 가상의 가격). 1년을 8,760시간이라고 하면, 1년간의 이용 시간이 어떤 시간을 넘었을 때 예약 쪽이 저렴해진다. 그 시간으로 올바른 것은?
  4. 많은 퍼블릭 클라우드의 데이터 전송 요금의 사고방식으로 일반적으로 들어맞는 것은?
  5. 선언적인 IaC(Infrastructure as Code) 도구로, 네트워크와 가상 머신 2대의 구성을 정의한 파일을 적용하여 환경을 만들었다. 그 직후에 아무것도 바꾸지 않고 같은 파일을 한 번 더 적용했을 때 일어나는 일로 적절한 것은?