Cloud Functions 버전 비교

Cloud Functions for Firebase에는 두 가지 버전이 있습니다.

  • Cloud Functions(2세대): Cloud Run에서 함수를 서비스로 배포하여 EventarcPub/Sub를 사용하여 함수를 트리거할 수 있도록 합니다.
  • Cloud Functions (1세대): 이벤트 트리거 및 구성 가능성이 제한된 함수의 원래 버전입니다.

가능하다면 새로운 함수에 Cloud Functions (2세대)를 선택하는 것이 좋습니다. 하지만 Cloud Functions(1세대)도 계속 지원할 계획입니다.

이 페이지에서는 Cloud Functions에 도입된 기능을 설명하고 두 제품 버전을 비교합니다.

Cloud Functions(2세대)

Cloud Functions는 Firebase의 차세대 Functions-as-a-Service 제품입니다. Cloud RunEventarc를 기반으로 빌드된 Cloud Functions(2세대)는 다음을 포함하여 Cloud Functions에 향상된 인프라 및 더 넓은 이벤트 지원 범위를 지원합니다.

  • Cloud Run 기반 빌드: 함수는 Cloud Build로 빌드되고 Cloud Run 서비스로 배포됩니다. 이렇게 하면 Cloud Run 서비스와 마찬가지로 함수를 맞춤설정할 수 있습니다. 메모리 제한, 환경 변수 등 서비스 구성 옵션을 살펴보려면 Cloud Run 문서를 참고하세요.
  • 더 긴 요청 처리 시간: Cloud Storage 또는 BigQuery에서 대용량 데이터 스트림 처리와 같은 더 긴 요청 워크로드를 실행합니다.
  • 더 큰 인스턴스 크기: 인메모리가 더 크고 컴퓨팅 집약적인 병렬 워크로드를 실행합니다.
  • 향상된 동시 실행: 단일 기능 인스턴스로 여러 동시 요청을 처리하여 콜드 스타트를 최소화하고 지연 시간을 개선합니다.
  • 트래픽 관리: 여러 함수 버전 간에 트래픽을 분할하거나 함수를 이전 버전으로 롤백합니다.
  • Eventarc 통합: Eventarc 트리거에 대한 기본 지원으로 Eventarc에서 지원되는 90개 이상의 모든 이벤트 소스를 Cloud Functions로 가져옵니다.
  • 더 넓은 CloudEvents 지원: 모든 언어 런타임에서 업계 표준 CloudEvents를 지원하여 일관성 있는 개발자 환경을 제공합니다.

자세한 내용은 비교표를 참조하세요.

Cloud FunctionsCloud Run에서 함수를 서비스로 배포하므로 Cloud FunctionsCloud Run과 리소스 할당량 및 한도를 공유합니다. 할당량을 참조하세요.

비교표

기능 Cloud Functions(1세대) Cloud Functions
이미지 레지스트리 Container Registry 또는 Artifact Registry Artifact Registry만 해당
요청 시간 종료 최대 9분
  • HTTP 트리거 함수의 경우 최대 60분
  • 이벤트로 트리거되는 함수의 경우 최대 9분
인스턴스 크기 최대 8GB RAM(vCPU 2개) 최대 16GiB RAM(vCPU 4개)
동시 실행 함수 인스턴스당 동시 요청 1개 함수 인스턴스당 동시 요청 최대 1,000개

가격 책정

가격 책정 정보는 Firebase 요금제를 참조하세요.

Cloud Functions를 사용하는 경우 다음과 같이 Cloud Functions와 관련된 비용만 볼 수 있습니다.

  1. Google Cloud 콘솔에서 Cloud Billing 보고서 페이지로 이동합니다.
  2. 메시지가 표시되면 Google Cloud 프로젝트와 연관된 결제 계정을 선택합니다.
  3. 필터 패널의 라벨에서 goog-managed-by 키 및 cloudfunctions 값을 사용하여 라벨 필터를 추가합니다.

제한사항

Cloud Functions for Firebase (2세대)는 Analytics 이벤트를 지원하지 않습니다.

Cloud Functions for Firebase (2세대)는 인증 차단 이벤트는 지원하지만 1세대와 동일한 기본 Authentication 이벤트 집합은 지원하지 않습니다.

하지만 1세대 함수와 2세대 함수가 동일한 소스 파일에 나란히 공존할 수 있으므로 1세대에서 2세대 함수를 함께 사용하여 Analytics와 기본 Authentication 트리거를 개발하고 배포할 수 있습니다.