Google Cloud 사용하기

Google Cloud 사용하기

Dart 앱은 Firebase와 Google Cloud Platform 등 다양한 Google Cloud 서비스를 사용할 수 있어요. 이 페이지에서는 Dart 서버를 Google Cloud에서 실행하는 방법과 추천 솔루션을 안내해 드릴게요.

출처: Using Google Cloud

본문

Dart 서버는 미리 준비된 Dart 공식 Docker 이미지를 활용해 많은 Google Cloud 제품을 사용할 수 있어요. Dart로 HTTP 서버를 만드는 방법부터 시작하려면 인기 있는 서버 프레임워크를 확인해 보세요.

Dart 코드에서 쓸 수 있는 다른 Google API( Firebase 포함)에 대한 정보는 Google APIs 페이지를 참고하세요.

추천 솔루션

클라우드에서 Dart를 실행하려면 서버리스 컴퓨팅 솔루션을 사용하는 것을 추천해요.

Cloud Run

Cloud Run의 유연한 컨테이너 지원과 Dart의 Docker 이미지를 결합해 서버 측 Dart 코드를 실행할 수 있어요. 확장 가능하고 고성능인 API와 이벤트 기반 앱은 개발자가 인프라를 관리하지 않아도 되는 Cloud Run 서버리스 플랫폼과 잘 어울려요.

Cloud Run에서 실행되도록 구현된 Dart 서버 예시는 dart-lang/samples 저장소에 있어요.

Cloud Run 사용에 대한 자세한 내용은 다른 언어로 서비스를 빌드하고 배포하는 문서를 참고하세요.

Cloud Functions for Firebase

Dart로 Cloud Functions for Firebase를 작성하면 풀스택 개발이 가능해지고, 클라이언트와 백엔드 사이에 코드를 재사용하며 Firebase 트리거에 응답할 수 있어요. 시작하려면 Cloud Functions for Firebase 문서를 참고하세요.

  • Firebase Functions 패키지 — Dart로 백엔드 함수와 API를 작성하는 핵심 패키지예요.
  • Firebase Admin SDK 패키지 — 백엔드 서버나 Cloud Functions에서 Firebase 서비스에 안전하게 접근해요. 데이터 관리, 알림 전송, 인증 토큰 검증에 사용해요.
  • Firebase Functions for Dart 저장소 — 퀵스타트 가이드, 예시, 소스 코드가 있는 GitHub 저장소예요.

Cloud Run과 Cloud Functions for Firebase 중 선택하기

Google Cloud에서 서버 측 Dart를 실행할 때는 아키텍처 요구 사항을 고려하세요.

  • Cloud Functions for Firebase를 선택하세요 — 컨테이너를 관리하지 않으면서 서버리스 이벤트 처리, 가벼운 HTTP 또는 callable API, Firebase Authentication 및 Cloud Firestore와의 긴밀한 통합이 필요한 Flutter 앱용 백엔드를 만들 때요.
  • Cloud Run을 선택하세요 — 커스텀 Docker 컨테이너, 장기 실행 프로세스, WebSocket 연결(예: Serverpod), 커스텀 네트워킹 설정이 필요할 때요.

기타 솔루션

필요에 따라 다음 Google Cloud 컴퓨팅 플랫폼에서 Dart를 실행하는 것도 고려해 볼 수 있어요.

Compute Engine

Compute Engine에서 Dart 코드를 실행하려면 Compute Engine의 컨테이너 실행 지원과 Dart의 Docker 이미지를 함께 사용하세요. 자세한 내용은 소프트웨어 컨테이너 사용에 관한 Compute Engine 문서를 참고하세요.

Kubernetes

Compute Engine 인스턴스 클러스터에서 Dart를 실행하려면 Google Kubernetes Engine (GKE)을 사용하세요. 자세한 내용은 GKE 개요를 참고하세요.

App Engine

App Engine의 Dart 지원은 불완전하고 인스턴스가 0개로 자동 확장되지 않는 App Engine 유연한 환경이 필요해요. 그래서 새 서버 측 Dart 코드에는 Cloud Run을 추천해요. App Engine을 사용하고 싶다면 appengine 패키지를 고려해 보세요.

더 알아보기