AWS의 Cloud Functions과 비슷하지만, Cloud Run은 컨테이너 기반으로 서비스를 제공한다는 점이 다름 ”도커 기반의 컨테이너 서비스를 서버리스 환경에서 운영한다”
위의 그림처럼 컨테이너에서 배포를 하여 사용하는 구조 Cloud Functions과 같이 요청하는 코드나 스크립트, 배열, 예약작업에 적합함 컨테이너 서비스지만, 요청이 있을때만 실행되므로, 요청 시간만큼만 과금이 된다.
준비하면서 느낀점 App Engine과 Cloud Run은 다른게 무엇인지? App Engine을 실행한 경험을 바탕으로 만든 서비스가 Cloud Run서비스
아래의 점이 큰 차이점이다.
- Cloud Run에는 최상위 애플리케이션 리소스 또는 해당
default
서비스가 없습니다.
- 동일한 프로젝트의 Cloud Run 서비스를 다른 리전에 배포할 수 있습니다. App Engine에서 프로젝트의 모든 서비스는 동일한 리전에 있습니다.
- Cloud Run은 Knative 리소스 모델과 일치하도록 버전(Version) 대신 버전(Revision)이라는 용어를 사용합니다.
- Cloud Run 버전 이름은
SERVICE_NAME
REVISION_SUFFIX
형식을 사용합니다. 여기서REVISION_SUFFIX
는 자동 생성되거나-revision-suffix=
REVISION_SUFFIX
배포 플래그를 사용하여 설정됩니다.
- Cloud Run 버전은 변경할 수 없습니다. 즉, App Engine 버전에서와 같이 이름을 재사용할 수 없습니다(
-version=
VERSION_ID
배포 플래그 사용).
- Cloud Run 서비스 URL은 서비스를 처음 배포할 때 자동으로 생성되는 서비스 식별자를 기반으로 합니다. 서비스 식별자는
SERVICE_NAME
<auto-generated identifier>
형식을 사용합니다. 서비스 식별자는 고유하며 서비스의 수명 동안 변경되지 않습니다.
- Cloud Run에서는 기본적으로 서비스 URL(
SERVICE_IDENTIFIER
.run.app
)만 노출됩니다. 특정 버전을 처리하려면 트래픽 태그를 구성해야 합니다. App Engine에서는 서비스 및 버전 URL이 모두 자동으로 노출됩니다.
- Cloud Run과 App Engine의 차이점 GCP문서
- Cloud Run / Cloud Run For Anthos
Cloud Run : GCP자원으로 컨테이너 배포하여 사용 CLoud Run For Anthos : Kubernetses상에서 동작 (멀티 클라우드와 온프레미스를 포함한 Anthos상에서 사용이 가능)
Uploaded by N2T