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 データベースもデプロイできます。
バックエンドが Spanner の Django は、python-spanner-django データベース バックエンドを使用してデプロイできます。
ときには、NoSQL データベースを使用せざるをえない場合もあります。Django ORM は、NoSQL データベースでも使用できますが、いくつかの制限があり、Django で正式にはサポートされていません。多数のコミュニティがサポートするバックエンド コネクタ データストアがあります。たとえば、App Engine を使用している場合は djangae、Cloud Run を使用している場合は django-gcloud-connectors などです。MongoDB を使用する場合は、Cloud Marketplace を使用してデプロイし、独自の管理を行うか、mLab 提供のマネージド MongoDB ホスティング サービスを使用します。
キャッシュ
Memorystore は、Memcache と Redis の両方に対してマネージド ホスティング オプションを提供しています。App Engine については、Memcache からの移行に関するガイドをご覧ください。
タスクのキューイング
Pub/Sub はイベント ドリブン システム向けのメッセージング機能を提供し、Google ToDo リストは非同期タスクの実行機能を提供します。Google ToDo リストと Pub/Sub の選択に関するガイドをご覧ください。App Engine については、タスクキューからの移行に関するガイドをご覧ください。
Cloud Tasks を介したタスクキューのサポートは、多数のコミュニティがサポートするパッケージを通してサポートされています。