Le app di Django in esecuzione su Google Cloud sono eseguite sulla stessa infrastruttura alla base di tutti i prodotti Google, il che in genere migliora la capacità dell'applicazione di adattarsi a un carico di lavoro variabile.
Piattaforme di hosting
Queste sono le opzioni disponibili per eseguire il deployment di Django su Google Cloud:
Opzione di deployment di Django | Inizia |
---|---|
Ambiente standard di App Engine | |
Ambiente flessibile di App Engine | |
Cloud Run |
|
Google Kubernetes Engine (GKE) | |
Compute Engine |
Per ulteriori dettagli sulle differenze tra queste piattaforme, vedi Opzioni di hosting di app su Google Cloud.
Database
Il mapper ORM (Object-Relational Mapper) di Django funziona meglio con un database relazionale SQL.
Se stai iniziando un nuovo progetto, Cloud SQL è una buona scelta. Puoi eseguire il deployment di un database PostgreSQL o MySQL gestito e scalato da Google e supportato da Django.
Puoi eseguire il deployment di Django con un backend Spanner utilizzando il backend del database python-spanner-django.
A volte esistono validi motivi per utilizzare un database NoSQL. L'utilizzo del mapper ORM di Django con un database NoSQL, con alcune limitazioni, ma non ufficialmente supportato da Django. Esistono diversi connettori di backend supportati dalla community, tra cui djangae se utilizzi App Engine e django-gcloud-connectors se utilizzi Cloud Run. Se scegli di utilizzare MongoDB, puoi eseguire il deployment tramite Cloud Marketplace e gestire in autonomia oppure puoi utilizzare il servizio di hosting di MongoDB fornito da mLab.
Cache
Memorystore offre opzioni di hosting gestite sia per Memcache che per Redis. Per App Engine, consulta la guida alla migrazione da Memcache.
Inserimento in coda delle attività
Pub/Sub offre la messaggistica per i sistemi basati su eventi, mentre Google Tasks offre l'esecuzione asincrona delle attività; consulta la guida per la scelta tra Google Tasks e Pub/Sub. Per App Engine, consulta la guida alla migrazione dalle code di attività.
Il supporto per l'accodamento delle attività tramite Cloud Tasks è disponibile tramite una serie di pacchetti supportati dalla community.