해리슨 블로그

[GCP] Cloud Run 과 Cloud Run Function의 과금 구조

  • 작성 언어: 한국어
  • 기준국가: 모든 국가country-flag
  • IT

작성: 2024-11-11

작성: 2024-11-11 10:19

[GCP] Cloud Run 과 Cloud Run Function ( 구 Cloud Function ) 의 과금 구조

최근 GCP 에서는 Cloud Run 과 Cloud Function 에 대한 UI 통합을 발표 했다.


기능적으로 둘을 구분하자면, 기본적으로 Cloud Run 은 하나의 Docker Image 를 구동하는 서버리스 플랫폼이고, Cloud Function 은 일부 언어 ( Node.js , Go , .Net , Java , PHP , Python , Ruby ) 에 대한 코드 스니핏( 함수 )를 실행하는 플랫폼이다.

그러다 보니 기본적으로 구동방식이 조금 다른데, Cloud Run의 경우 Image 를 런칭한뒤, 해당 Image 에 호출을 하는 방식으로 이뤄지는데, 그래서, 필요에 따라 하나의 컨테이너가 여러개의 호출을 동시에 수행할 수 있다. ( 바꿔서 말하면 하나의 호출이 진행되는 동안에도 여러개의 새로운 호출이 유입이 가능하다는 의미. )

반대로 Cloud Function의 경우에는 하나의 함수를 호출하는 방식이라, 예를들어서 10개의 명령을 수행하려면 10개의 컨테이너가 필요한 구조이다.

따라서, Cloud Function 은 정말 가볍게 쓰거나 혹은 단일 호출이 빠른 콜드스타트가 필요할때는 유리하고, 반대로 대규모의 프로세스를 처리해야 하거나 혹은 상대적으로 살짝 늦어도 될경우에는 Cloud Run 이 유리하다.

그렇다면 중요한 가격은 어떻게 될까?

(원래부터 그렇게 설계 했겠지만..)

기본적으로 양측다 호출 가격은 동일하게 100만건당 0.4 $ 이다.

또한 동일한 Memory 는 1일 풀로 사용한다고 가정했을때 0.216 $이다.

그렇다면 vCPU 는 ?

Cloud Function 은 1GHz / 1일 기준으로 0.864 $ 이다. ( Cloud Function 은 사용 클럭에 따라 과금이 다르다. )

Cloud Run 은 1Core / 1일 기준으로 2.07 $ 이다. 즉, Cloud Run 은 2.4 GHz 를 사용한다고 볼 수 있다. ( 실제 공식 문서에도 1vCPU 는 2.4GHz 라고 적혀 있다. )

결과적으로 두서비스 ( Cloud Run , Cloud Function ) 은 과금방식은 완전히 동일하며, 단지 서비스의 방향이 다를뿐이라는것을 알 수 있다.

따라서, 이번 통합이후에도 자신이 사용할 방식에 따라서 두개의 서비스를 취사 선택하면 좀 더 저렴하고 효율적인 서비스 구성이 가능할듯 하다.

댓글0