Google Cloud Run
▶아키텍처 다이어그램
점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다
앱을 컨테이너로 패키징했는데, 이걸 프로덕션에 띄우려면 Kubernetes 클러스터를 세팅하거나 VM에 Docker를 직접 설치해야 합니다. 간단한 API 하나에 클러스터 관리까지 하기엔 과합니다.
Cloud Run에 컨테이너 이미지를 배포하면 HTTP 엔드포인트가 생기고, 요청량에 따라 인스턴스가 자동으로 0에서 N까지 조절됩니다. Revision 기반 배포로 트래픽을 점진적으로 새 버전으로 옮길 수 있습니다.
Cloud Run과 Cloud Functions는 둘 다 서버리스이지만, Cloud Functions는 함수 하나를 이벤트에 연결하고 Cloud Run은 컨테이너 전체를 배포합니다. 여러 엔드포인트가 있거나 복잡한 의존성이 있으면 Cloud Run, 단순한 이벤트 핸들러면 Cloud Functions가 맞습니다. Cloud Run과 GKE는 둘 다 컨테이너를 실행하지만, GKE는 Kubernetes의 전체 기능(스케줄링, 서비스 메시 등)이 필요할 때 씁니다.
컨테이너가 표준 배포 단위가 되면서, Kubernetes 없이도 컨테이너를 프로덕션에 바로 올리고 싶다는 요구가 커졌습니다. Cloud Run은 Knative 기반으로 이 격차를 메운 서비스입니다.
웹 API, 마이크로서비스, SSR 프론트엔드처럼 HTTP 기반 컨테이너 워크로드에 적합합니다. 트래픽이 항상 높아서 0 스케일이 의미 없거나, Kubernetes의 세밀한 오케스트레이션이 필요한 경우에는 맞지 않습니다.
더 깊게 보기
현재 페이지의 개념 설명을 본 뒤 공식 문서로 바로 이동합니다.