Django apps that run on Google Cloud are running on the same infrastructure that powers all of Google's products, which generally improves the application's ability to adapt to a variable workload.
These are the available options for deploying Django on Google Cloud:
|Django deployment option||Get started|
|App Engine standard environment|
|App Engine flexible Environment|
|Cloud Run (fully managed)||
|Google Kubernetes Engine (GKE)|
For more details on the differences in these platforms, see App Hosting options on Google Cloud.
The Django object-relational mapper (ORM) works best with an SQL relational database.
You can deploy Django with a Cloud Spanner backend using the python-spanner-django database backend.
Sometimes, there are compelling reasons to use a NoSQL database. Using the Django ORM with a NoSQL database is possible, with some limitations, but not officially supported by Django. There are a number of community-supported backend connectors Datastore, including djangae if you're using App Engine, or django-gcloud-connectors if you're using Cloud Run. If you choose to use MongoDB, you can deploy it using Cloud Marketplace and do your own management, or you can use the managed MongoDB hosting service provided by mLab.
You can see an example implementation of using Pub/Sub to queue tasks with Pub/Sub Task Queue for Python (psq).
Support for task queuing through Cloud Tasks is available thorugh a number of community-supported packages.