Django-Apps, die in Google Cloud ausgeführt werden, beruhen auf derselben Infrastruktur wie alle Google-Produkte, was generell die Fähigkeit der Anwendung verbessert, sich an eine variable Arbeitslast anzupassen.
Host-Plattformen
Verfügbare Optionen für die Bereitstellung von Django in Google Cloud:
Bereitstellungsoption für Django | Erste Schritte |
---|---|
App Engine-Standardumgebung | |
Flexible App Engine-Umgebung | |
Cloud Run |
|
Google Kubernetes Engine (GKE) | |
Compute Engine |
Weitere Informationen zu den Unterschieden in diesen Plattformen finden Sie unter App-Hostingoptionen in Google Cloud.
Datenbanken
Der objektrelationale Mapper (ORM) von Django funktioniert optimal mit einer relationalen SQL-Datenbank.
Für ein neues Projekt ist Cloud SQL eine gute Wahl. Sie können eine PostgreSQL- oder MySQL-Datenbank bereitstellen, die von Google verwaltet und skaliert und von Django unterstützt wird.
Django kann mit einem Cloud Spanner-Back-End mithilfe des Datenbank-Back-Ends python-spanner-django bereitgestellt werden.
Manchmal gibt es zwingende Gründe, eine NoSQL-Datenbank zu verwenden. Die Verwendung von Django ORM mit einer NoSQL-Datenbank ist mit einigen Einschränkungen möglich, wird jedoch nicht offiziell von Django unterstützt. Es gibt eine Reihe von Community-unterstützten Back-End-Connectors, einschließlich djangae, wenn Sie App Engine verwenden, oder django-gcloud-connectors, wenn Sie Cloud Run verwenden. Wenn Sie sich für MongoDB entscheiden, können Sie die Datenbank über den Cloud Marketplace bereitstellen und selbst verwalten oder den verwalteten MongoDB-Hostingdienst von mLab verwenden.
Caches
Memorystore bietet verwaltete Hostingoptionen für Memcache und Redis. Informationen zu App Engine finden Sie in der Anleitung zur Migration aus Memcache.
Aufgabenwarteschlange
Pub/Sub bietet Messaging für ereignisgesteuerte Systeme und Tasks bietet eine asynchrone Aufgabenausführung. Informationen zu App Engine finden Sie in der Anleitung zur Migration aus Aufgabenwarteschlangen.
Sie finden eine Beispielimplementierung für die Verwendung von Pub/Sub für Warteschlangen von Aufgaben mit Pub/Sub Task Queue for Python (psq).
Support für die Aufgabenwarteschlange über Cloud Tasks ist in einer Reihe von Community-unterstützten Paketen verfügbar.