- Google Cloud Functions is now Cloud Run functions | Google Cloud Blog
- With Cloud Run functions, you can write and deploy functions directly with Cloud Run, giving you complete control over the underlying service configuration.
[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