Para armazenar dados e arquivos no App Engine, use os serviços do Google Cloud ou qualquer outro serviço de armazenamento compatível com sua linguagem e que possa ser acessado na instância do App Engine. É possível hospedar bancos de dados de terceiros em outro provedor de nuvem e no local, além de poderem ser gerenciados por um fornecedor terceirizado.
Serviços de armazenamento do Google Cloud
Para aplicativos do App Engine em execução no App Engine, recomendamos um dos seguintes serviços de armazenamento do Google Cloud:
- Firestore no modo Datastore para armazenar dados em um banco de dados NoSQL
Cloud SQL para MySQL para armazenar dados em um banco de dados MySQL
Cloud SQL para PostgreSQL para armazenar dados em um banco de dados PostgreSQL.
Cloud Storage para ler e gravar arquivos no ambiente de execução, armazenar e exibir arquivos estáticos, como filmes, imagens ou outro conteúdo estático
Veja uma lista completa dos produtos de armazenamento do Google Cloud na página Produtos do Cloud Storage.
Outros provedores de nuvem
Os aplicativos do App Engine se conectam a bancos de dados externos, hospedados em outras nuvens públicas, se os servidores desses bancos e seu firewall estiverem configurados para aceitar conexões. O aplicativo do App Engine se conecta pela Internet usando o endereço IP público desse serviço externo.
Bancos de dados gerenciados por um fornecedor de terceiros
Muitos fornecedores oferecem serviços de banco de dados gerenciado, como o mLab para MongoDB (em inglês). O Redis Labs oferece armazenamento em cache hospedado do Redis (em inglês). Esses fornecedores administram a hospedagem, configuração e manutenção dos bancos de dados. O App Engine pode se conectar a esses serviços externos pela Internet, da mesma forma que a outras nuvens públicas, usando o endereço IP público desse serviço.
No local
Se você quiser tornar bancos de dados locais acessíveis a um aplicativo do App Engine, configure a rede interna e o firewall para informar um endereço IP público ao banco de dados ou conecte-se por meio da VPN.
Ao configurar o Cloud VPN, o aplicativo do App Engine acessa a rede no local sem expor diretamente o servidor de banco de dados à Internet pública. O App Engine e o Compute Engine usam a mesma infraestrutura de rede, por isso, use a conexão VPN para estabelecer uma conexão entre o aplicativo do App Engine e o banco de dados no local usando o endereço IP interno do servidor de banco de dados.Considerações sobre produção
Configure o App Engine para fazer o escalonamento automático e horizontal do aplicativo com base em várias métricas. Ao contrário dos aplicativos da Web, os bancos de dados muitas vezes exigem mudanças não triviais para atender à escala. Em aplicativos de produção, o App Engine pode sobrecarregar rapidamente um banco de dados durante os picos de tráfego. Ao configurar e implantar bancos de dados, pense na carga média de tráfego estimada e a carga durante os picos.