Firebase 호스팅을 사용하여 동적 콘텐츠 제공 및 마이크로서비스 호스팅

Firebase Hosting는 다음과 같은 서버리스 컴퓨팅 옵션과 통합됩니다. Cloud Functions for FirebaseCloud Run. 다음으로 Firebase Hosting 사용 이러한 옵션을 사용하면 애플리케이션이 실행될 수 있도록 HTTPS 요청을 함수와 컨테이너화된 앱을 안전한 관리형 환경에서 실행할 수 있습니다.

Cloud Functions for Firebase: 애플리케이션을 작성하고 배포합니다. 함수를 호출합니다. 이 코드는 특정 트리거에 응답하는 백엔드 코드입니다. 그런 다음 Firebase Hosting: HTTPS 요청을 전달하여 함수를 트리거할 수 있습니다. 실행할 수 있습니다

Cloud Run: 애플리케이션을 작성하고 배포합니다. 컨테이너 이미지로 패키징되어 있습니다 그런 다음 Firebase Hosting을(를) 사용하면 HTTPS 요청을 전달하여 컨테이너화된 앱이 실행되도록 트리거할 수 있습니다.

사용 사례

Firebase Hosting와 함께 서버리스 컴퓨팅 옵션을 사용하는 방법

  • 동적 콘텐츠 제공Hosting 사이트에 정적 콘텐츠를 제공하는 것 외에도 서버 측 로직을 실행하는 함수 또는 컨테이너화된 앱에서 동적으로 생성된 응답을 제공할 수 있습니다.

    예를 들어 URL 패턴(예: /blog/<blog-post-id>)을 함수에 연결하고, 함수에서는 URL의 블로그 게시물 ID 매개변수를 사용하여 데이터베이스의 콘텐츠를 동적으로 검색할 수 있습니다.

  • REST API 빌드 — 함수를 사용하여 마이크로서비스 API를 생성할 수 있습니다.

    예를 들어 함수는 사용자 웹사이트의 로그인 기능을 처리할 수 있습니다. 웹사이트가 /에 호스팅되는 동안 /api에 대한 요청은 마이크로서비스 API로 리디렉션됩니다. 이에 관한 예시는 오픈소스 샘플을 확인하세요.

  • 동적 콘텐츠 캐시 — 글로벌 CDN에 동적 콘텐츠의 캐싱을 구성할 수 있습니다.

    예를 들어 함수가 주기적으로 새 콘텐츠만 생성한다면 생성된 콘텐츠를 짧은 시간 동안 캐시하여 앱의 속도를 높일 수 있습니다. 또한 콘텐츠가 트리거된 함수나 컨테이너화된 앱을 통해서가 아닌 CDN에서 제공되므로 실행 비용을 줄일 수 있습니다.

  • 단일 페이지 앱 사전 렌더링 - 동적 meta 태그를 만들어 검색엔진 최적화를 개선하고 다양한 소셜 네트워크에서 공유를 최적화할 수 있습니다. 자세히 알아보려면 이 동영상을 보거나 오픈소스 샘플을 확인하세요.

서버리스 옵션 선택

Cloud Functions for FirebaseCloud RunFirebase Hosting는 안전한 완전 관리형 자동 확장 기능을 제공합니다. 서버리스 환경으로, 다양한 사용 사례에 두 가지 옵션을 활용할 수 있습니다. 원하는 수준의 맞춤 구성을 설정할 수 있습니다.

서버리스 옵션 중 하나를 사용하는 경우 서버와 같은 위치에 배치하는 것이 가장 좋습니다. 다음 리전 중 하나에 배포하여 Firebase Hosting

  • us-west1
  • us-central1
  • us-east1
  • europe-west1
  • asia-east1

다음 표에는 사용 시 고려해야 할 몇 가지 기본 사항이 설명되어 있습니다. Cloud Functions for FirebaseCloud Run 비교. 이 할당량, 한도, 측정항목은 각 제품의 상세 문서를 참조하세요. (Cloud Functions for Firebase 또는 Cloud Run)

고려사항 Cloud Functions for Firebase Cloud Run
설정 Firebase CLI는 여러 태스크를 다음에서 단일 명령어로 묶습니다. 빌드 및 배포에 이르기까지 다양합니다 컨테이너는 더 많은 맞춤설정 옵션을 제공하므로 설정, 빌드, 배포 태스크에 별도의 단계가 필요합니다.
런타임 환경 Node.js가 필요하지만 사용할 Node.js의 버전을 지정할 수 있습니다. 컨테이너를 빌드할 때 런타임 환경을 지정합니다.
언어 및 프레임워크 지원

자바스크립트 및 TypeScript

Express.js와 같은 웹 프레임워크가 지원됩니다.

Go, Node.js, Python, 자바 등을 포함하여 Dockerfile에서 지원하는 모든 언어

각 언어에 대한 웹 프레임워크가 지원됩니다.

Hosting 요청 제한 시간 60초(아래 참고 참조) 60초(아래 참고 참조)
동시 실행 함수 인스턴스당 요청 1개
(인스턴스당 동시 실행 없음)
컨테이너 인스턴스당 동시 요청 최대 1,000개
결제 Cloud Functions 사용량

무료 사용 할당량이지만 Cloud Billing 계정이 필요합니다. 자세한 내용은 Firebase FAQ

Cloud Run 사용량 + Container Registry 스토리지

무료 사용 할당량이지만 Cloud Billing 계정이 필요합니다.