Las apps de Django que se ejecutan en Google Cloud lo hacen en la misma infraestructura que impulsa todos los productos de Google, lo que generalmente mejora la capacidad de la aplicación para adaptarse a una carga de trabajo variable.
Plataformas de hosting
Estas son las opciones disponibles para implementar Django en Google Cloud:
| Opción de implementación de Django | Comenzar |
|---|---|
| Entorno estándar de App Engine | |
| Entorno flexible de App Engine | |
| Cloud Run |
|
| Google Kubernetes Engine (GKE) | |
| Compute Engine |
Para obtener más detalles sobre las diferencias entre estas plataformas, consulta Opciones de App Hosting en Google Cloud.
Bases de datos
El asignador relacional de objetos (ORM) de Django funciona mejor con una base de datos relacional SQL.
Si vas a comenzar un proyecto nuevo, Cloud SQL es una buena opción. Puedes implementar una base de datos PostgreSQL o MySQL que Google administra y escala, y que Django admite.
Puedes implementar Django con un backend de Spanner usando el backend de base de datos python-spanner-django.
A veces, existen motivos convincentes para usar una base de datos NoSQL. Se puede usar el ORM de Django con una base de datos NoSQL, con algunas limitaciones, pero Django no lo admite oficialmente. Existen varios conectores de backend compatibles con la comunidad para Datastore, incluido djangae si usas App Engine o django-gcloud-connectors si usas Cloud Run. Si decides usar MongoDB, puedes implementarla con Cloud Marketplace y realizar tu propia administración. También puedes usar el servicio de hosting administrado de MongoDB que proporciona mLab.
Caché
Memorystore ofrece opciones de hosting administrado para Memcache y Redis. En el caso de App Engine, consulta la guía para migrar desde Memcache.
Usa una lista de tareas en cola
Pub/Sub ofrece mensajería para sistemas basados en eventos, y Google Tasks ofrece ejecución de tareas asíncronas. Consulta la guía para elegir entre Google Tasks o Pub/Sub. En el caso de App Engine, consulta la guía para migrar desde Task queues.
La compatibilidad con el encolamiento de tareas a través de Cloud Tasks está disponible a través de varios paquetes compatibles con la comunidad.