Primeiros passos com o Django

Os aplicativos do Django executados no Google Cloud são executados na mesma infraestrutura usada em todos os produtos do Google, que geralmente melhora a capacidade do aplicativo de se adaptar a uma carga de trabalho variável.

Plataformas de hospedagem

Estas são as opções disponíveis para implementar o Django no Google Cloud:

Para mais detalhes sobre as diferenças nessas plataformas, consulte Opções de hospedagem de apps no Google Cloud.

Bancos de dados

O mapeador objeto-relacional (ORM, na sigla em inglês) do Django funciona melhor com um banco de dados SQL relacional.

Se você está iniciando um novo projeto, o Cloud SQL é uma boa escolha. É possível implantar um banco de dados PostgreSQL ou MySQL gerenciado e escalonado pelo Google e compatível com o Django.

Você pode implantar o Django com um back-end do Cloud Spanner usando o back-end do banco de dados python-spanner-django.

Às vezes, há razões justificáveis para usar um banco de dados NoSQL. Usar o ORM do Django com um banco de dados NoSQL é possível, com algumas limitações, mas não é oficialmente compatível com o Django. Há vários conectores de back-end com suporte da comunidade, incluindo djangae, se você estiver usando o App Engine, ou django-gcloud-connectors se estiver usando o Cloud Run. Caso você escolha usar o MongoDB, implante-o usando o Cloud Marketplace e gerencie da sua maneira. Se preferir, use o serviço gerenciado de hospedagem MongoDB fornecido pela mLab.

Caches

O Memorystore oferece opções de hospedagem gerenciadas para Memcache e Redis. Para o App Engine, consulte o guia de como migrar do Memcache.

Como enfileirar tarefas

O Pub/Sub oferece mensagens para sistemas orientados a eventos, e o Tarefas oferece a execução assíncrona de tarefas. Para o App Engine, consulte o guia de como migrar de filas de tarefas.

Veja um exemplo de implementação de uso do Pub/Sub para enfileirar tarefas com o Pub/Sub Task Queue for Python (psq).

O suporte para filas de tarefas pelo Cloud Tasks está disponível por vários pacotes com suporte da comunidade.