Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

Firebase용 Cloud Functions

Firebase용 Cloud Functions는 Firebase 기능 및 HTTPS 요청에 의해 트리거된 이벤트에 대한 응답으로 백엔드 코드를 자동으로 실행할 수 있는 서버리스 프레임워크입니다. JavaScript 또는 TypeScript 코드는 Google 클라우드에 저장되고 관리되는 환경에서 실행됩니다. 자체 서버를 관리하고 확장할 필요가 없습니다.

이미 Google Cloud에서 Cloud Functions를 사용 중이신가요? Firebase가 그림에 어떻게 들어맞는지 자세히 알아보세요 .

시작하기 사용 사례

주요 기능

Firebase 플랫폼 통합

작성한 함수는 Firebase 인증 트리거 에서 Cloud Storage 트리거 에 이르기까지 다양한 Firebase 및 Google Cloud 기능에서 생성된 이벤트에 응답할 수 있습니다.

Cloud Functions와 함께 Admin SDK 를 사용하여 Firebase 기능 전반에 걸쳐 통합하고 자체 웹훅을 작성하여 타사 서비스와 통합합니다. Cloud Functions는 상용구 코드를 최소화하여 함수 내에서 Firebase와 Google Cloud를 더 쉽게 사용할 수 있도록 합니다.
유지보수 제로 명령줄에서 하나의 명령으로 JavaScript 또는 TypeScript 코드를 당사 서버에 배포하십시오. 그 후 Firebase는 사용자의 사용 패턴에 맞게 컴퓨팅 리소스를 자동으로 확장합니다. 자격 증명, 서버 구성, 새 서버 프로비저닝 또는 이전 서버 폐기에 대해 걱정할 필요가 없습니다.
논리를 비공개로 안전하게 유지 많은 경우에 개발자는 클라이언트 측에서 변조를 방지하기 위해 서버에서 애플리케이션 로직을 제어하는 ​​것을 선호합니다. 또한 때때로 해당 코드를 리버스 엔지니어링하는 것이 바람직하지 않습니다. Cloud Functions는 클라이언트와 완전히 격리되어 있으므로 비공개이며 항상 원하는 대로 정확하게 수행할 수 있습니다.

어떻게 작동합니까?

함수를 작성하고 배포하면 Google 서버에서 즉시 함수를 관리하기 시작합니다. HTTP 요청으로 함수를 직접 실행할 수 있습니다. 또는 백그라운드 함수의 경우 Google 서버가 이벤트를 수신하고 트리거될 때 함수를 실행합니다.

로드가 증가하거나 감소함에 따라 Google은 기능을 실행하는 데 필요한 가상 서버 인스턴스의 수를 빠르게 확장하여 대응합니다. 각 기능은 자체 구성이 있는 자체 환경에서 격리되어 실행됩니다.

백그라운드 함수의 수명 주기

  1. 새 함수에 대한 코드를 작성하고 이벤트 공급자(예: Cloud Firestore)를 선택하고 함수가 실행되어야 하는 조건을 정의합니다.
  2. 함수를 배포할 때:
    1. Firebase CLI는 함수 코드의 .zip 아카이브를 생성한 다음 Cloud Functions가 프로젝트에 Artifact Registry 저장소( gcf-artifacts 라고 함)를 생성하기 전에 Cloud Storage 버킷(접두사가 gcf-sources )에 업로드됩니다.
    2. Cloud Build는 함수 코드를 검색하고 함수 소스를 빌드합니다. Google Cloud Console 에서 Cloud Build 로그를 볼 수 있습니다.
    3. 빌드된 함수 코드의 컨테이너 이미지가 프로젝트의 비공개 Artifact Registry 저장소( gcf-artifacts 라고 함)에 업로드되고 새 함수가 롤아웃됩니다.
  3. 이벤트 공급자가 함수의 조건과 일치하는 이벤트를 생성하면 코드가 호출됩니다.
  4. 함수가 많은 이벤트를 처리하느라 바쁘면 Google은 작업을 더 빠르게 처리하기 위해 더 많은 인스턴스를 만듭니다. 기능이 유휴 상태이면 인스턴스가 정리됩니다.
  5. 업데이트된 코드를 배포하여 함수를 업데이트하면 Artifact Registry의 빌드 아티팩트와 함께 이전 버전의 인스턴스가 정리되고 새 인스턴스로 교체됩니다.
  6. 함수를 삭제하면 Artifact Registry의 관련 빌드 아티팩트와 함께 모든 인스턴스 및 zip 아카이브가 정리됩니다. 함수와 이벤트 공급자 간의 연결이 제거됩니다.

백그라운드 함수로 이벤트를 수신하는 것 외에도 HTTP 요청 또는 클라이언트의 호출로 직접 함수를 호출할 수 있습니다.

구현 경로

Cloud Functions 설정 Firebase CLI를 설치하고 Firebase 프로젝트에서 Cloud Functions를 초기화합니다.
쓰기 기능 Firebase 서비스, Google Cloud 서비스 또는 기타 이벤트 공급자의 이벤트를 처리하는 JavaScript 코드(또는 배포 시 변환할 TypeScript 코드)를 작성합니다.
테스트 기능 로컬 에뮬레이터 를 사용하여 기능을 테스트합니다.
배포 및 모니터링 프로젝트에 대한 결제를 활성화하고 Firebase CLI를 사용하여 기능을 배포합니다. Google Cloud Console 을 사용하여 로그를 보고 검색할 수 있습니다.

다음 단계