Introduzione a Django

Le app Django eseguite su Google Cloud vengono eseguite sulla stessa infrastruttura che è 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 Per iniziare
Ambiente standard di App Engine
  • Esecuzione di Django nell'ambiente standard di App Engine
  • Ambiente flessibile di App Engine
  • Esecuzione di Django in un ambiente flessibile di App Engine
  • Cloud Run
  • Esecuzione di Django su Cloud Run
  • 175% di sconto per i bambini
  • Esecuzione di Django su Cloud Run con Cloud Code for IntelliJ
  • Google Kubernetes Engine (GKE)
  • Esecuzione di Django su Google Kubernetes Engine
  • Compute Engine
  • Django in Google Cloud Marketplace
  • Per ulteriori dettagli sulle differenze in queste piattaforme, vedi Opzioni di hosting delle app su Google Cloud.

    Database

    Il mapper ORM (Object-Relational Mapper) di Django funziona meglio con un database relazionale SQL.

    Se stai per iniziare 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 Cloud Spanner utilizzando il backend di database python-spanner-django.

    Talvolta ci sono motivi stringenti per utilizzare un database NoSQL. L'utilizzo del database OR di Django con un database NoSQL è possibile, con alcune limitazioni, ma non è ufficialmente supportato da Django. Esistono diversi connettori di backend supportati dalla community in Datastore, tra cui djangae se stai utilizzando App Engine o django-gcloud-connectors se utilizzi Cloud Run. Se scegli di utilizzare MongoDB, puoi eseguirne il deployment utilizzando Cloud Marketplace e farlo in autonomia oppure puoi usare il servizio di hosting gestito di MongoDB fornito da mLab.

    Cache

    Memorystore offre opzioni di hosting gestite sia per Memcache sia per Redis. Per App Engine, consulta la guida alla migrazione da Memcache.

    Inserimento in coda delle attività

    Pub/Sub offre messaggi per i sistemi basati su eventi, mentre Tasks offre l'esecuzione asincrona delle attività. Per App Engine, consulta la guida alla migrazione dalle code di attività.

    Ecco un esempio di implementazione dell'utilizzo di Pub/Sub per mettere in coda le attività con Pub/Sub Task Queue for Python (psq).

    Il supporto per le code di attività tramite Cloud Tasks è disponibile tramite diversi pacchetti supportati dalla community.