Google Cloud에서 실행되는 Django 앱은 모든 Google 제품을 구동하는 동일한 인프라에서 실행되므로 일반적으로 가변적인 워크로드에 맞춰 애플리케이션의 기능이 향상됩니다.
호스팅 플랫폼
Google Cloud에서 Django를 배포할 때 사용할 수 있는 옵션은 다음과 같습니다.
Django 배포 옵션 | 시작하기 |
---|---|
App Engine 표준 환경 | |
App Engine 가변형 환경 | |
Cloud Run |
|
Google Kubernetes Engine(GKE) | |
Compute Engine |
이러한 플랫폼의 차이점에 대한 자세한 내용은 Google Cloud의 앱 호스팅 옵션을 참조하세요.
데이터베이스
Django 객체 관계형 매퍼(ORM)는 SQL 관계형 데이터베이스에서 가장 잘 작동합니다.
새 프로젝트를 시작하는 경우 Cloud SQL을 선택하는 것이 좋습니다. Google에서 관리 및 확장하며, Django에서 지원하는 PostgreSQL 또는 MySQL 데이터베이스를 배포할 수 있습니다.
python-spanner-django 데이터베이스 백엔드를 사용하여 Django를 Spanner 백엔드로 배포할 수 있습니다.
때로는 어떠한 이유로 NoSQL 데이터베이스를 사용합니다. Django ORM을 NoSQL 데이터베이스와 함께 사용하는 것은 몇 가지 제한사항이 있지만 가능합니다. 그러나 Django에서 공식적으로 지원되지 않습니다. App Engine을 사용하는 경우 djangae, Cloud Run을 사용하는 경우 django-gcloud-connectors를 포함한 다양한 커뮤니티 지원 백엔드 커넥터 Datastore가 있습니다. MongoDB를 사용하기로 선택한 경우 Cloud Marketplace를 사용하여 배포하고 직접 관리하거나 mLab에서 제공하는 관리형 MongoDB 호스팅 서비스를 사용할 수 있습니다.
캐시
Memorystore는 Memcache 및 Redis용 관리형 호스팅 옵션을 제공합니다. App Engine의 경우 Memcache에서 마이그레이션 가이드를 참조하세요.
태스크 큐
Pub/Sub는 이벤트 기반 시스템에 메시징을 제공하고, Google Tasks는 비동기 태스크 실행을 제공합니다. Google Tasks 또는 Pub/Sub 중에서 선택 가이드를 참조하세요. App Engine의 경우 태스크 큐에서 마이그레이션 가이드를 참조하세요.
Cloud Tasks를 통한 태스크 큐 지원은 다양한 커뮤니티 지원 패키지를 통해 사용할 수 있습니다.