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:
Opção de implantação do Django | Começar |
---|---|
Ambiente padrão do App Engine | |
Ambiente flexível do App Engine | |
Cloud Run |
|
Google Kubernetes Engine (GKE) | |
Compute Engine |
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 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 Google Tarefas oferece execução assíncrona de tarefas. Consulte o guia para escolher entre o Google Tarefas ou o Pub/Sub. Para o App Engine, consulte o guia sobre como migrar das filas de tarefas.
O suporte para filas de tarefas pelo Cloud Tasks está disponível por vários pacotes com suporte da comunidade.