Para almacenar datos y archivos en App Engine, puedes usar los servicios de Google Cloud o cualquier otro servicio de almacenamiento que admita tu lenguaje y que sea accesible desde tu instancia de App Engine. Las bases de datos de terceros pueden estar alojadas de forma local, en otro proveedor de servicios en la nube, o bien pueden administrarlas proveedores externos.
Para obtener información sobre cómo leer y escribir archivos temporales, consulta Lee y escribe archivos temporales.Servicios de Google Cloud Storage
Para las aplicaciones de App Engine que se ejecutan en el entorno estándar, recomendamos uno de los siguientes servicios de almacenamiento de Google Cloud:
- Firestore en modo Datastore para almacenar datos en una base de datos NoSQL.
- Cloud SQL para MySQL a fin de almacenar datos en una base de datos MySQL.
- Cloud SQL para PostgreSQL a fin de almacenar datos en una base de datos PostgreSQL.
- Cloud Storage a fin de realizar operaciones de lectura y escritura de archivos en el entorno de ejecución, además de almacenar y entregar archivos estáticos, como películas, imágenes o cualquier otro contenido estático.
Consulta una lista completa de los productos de almacenamiento de Google Cloud en la página Productos de almacenamiento de Cloud.
Otros proveedores de servicios en la nube
Las aplicaciones de App Engine pueden conectarse a bases de datos externas que están alojadas en otras nubes públicas, siempre que los servidores de estas bases de datos y tu firewall se hayan configurado correctamente para aceptar conexiones. Tu aplicación de App Engine se conecta a Internet con una dirección IP pública del servicio externo.
Bases de datos administradas por proveedores terceros
Hay muchos proveedores que ofrecen servicios de bases de datos administrados, como mLab para MongoDB. Redis Labs ofrece almacenamiento en caché de Redis alojado. Estos proveedores controlan el alojamiento, la configuración y el mantenimiento de las bases de datos. App Engine puede conectarse a estos servicios externos por Internet, del mismo modo que otras nubes privadas, con la dirección IP pública del servicio.
Entorno local
Si tienes bases de datos locales existentes y deseas que tu aplicación de App Engine tenga acceso a ellas, configura tu red interna y firewall para que la base de datos reciba una dirección IP pública o se conecte mediante una VPN.
La configuración de Cloud VPN permite que tu aplicación de App Engine acceda a tu red local sin exponer al servidor de la base de datos directamente a la Internet pública. Dado que App Engine y Compute Engine usan la misma infraestructura de red, puedes usar la conexión de VPN para establecer una conexión entre la aplicación de App Engine y tu base de datos local mediante la dirección IP interna del servidor de base de datos.
Consideraciones de producción
Se puede configurar App Engine para que realice un ajuste de escala automático horizontal de tu aplicación, en función de diversas métricas. A diferencia de las aplicaciones web, las bases de datos suelen requerir cambios no triviales para responder al escalamiento. En las aplicaciones de producción, App Engine puede sobrecargar una base de datos rápidamente durante los aumentos de tráfico. Cuando implementes y configures bases de datos, debes tener en cuenta la carga prevista de tráfico promedio y la carga durante los aumentos repentinos.