Para almacenar datos y archivos en App Engine, puedes usar Google Cloud servicios o cualquier otro servicio de almacenamiento compatible con tu idioma y al que se pueda acceder desde tu instancia de App Engine. Las bases de datos de terceros se pueden alojar en Compute Engine, en otro proveedor de servicios en la nube, en un entorno local o las puede gestionar un proveedor externo.
Google Cloud servicios de almacenamiento
En el caso de las aplicaciones de App Engine que se ejecutan en el entorno flexible, te recomendamos uno de los siguientes Google Cloud servicios de almacenamiento:
- Firestore en modo Datastore para almacenar datos en una base de datos NoSQL. Ten en cuenta que Firestore en el modo de Datastore está disponible para todos los tiempos de ejecución, excepto para el tiempo de ejecución de .NET.
- Cloud SQL para MySQL para almacenar datos en una base de datos MySQL.
- Cloud SQL para PostgreSQL para almacenar datos en una base de datos PostgreSQL.
- Cloud Storage para leer y escribir archivos en el entorno de tiempo de ejecución, así como para almacenar y servir archivos estáticos, como películas, imágenes u otro contenido estático.
Consulta una lista completa de los Google Cloud productos de almacenamiento en la página de productos de Cloud Storage.
Hosting en Compute Engine
Las instancias de App Engine forman parte de la misma red interna privada que las instancias de Compute Engine. Tu aplicación de App Engine puede comunicarse con servicios alojados en Compute Engine dentro del mismo proyecto sin tener que pasar por Internet público. En muchos casos, tu aplicación se conecta al servicio mediante la dirección IP interna de la instancia sin necesidad de asignar a la base de datos una dirección IP pública externa. Si quieres, puedes asignar una dirección IP pública para permitir que se acceda a la base de datos desde fuera de Google Cloud.
Muchas bases de datos populares de terceros, como Redis, MongoDB, PostgreSQL, Cassandra, Hadoop y Microsoft SQL Server, se pueden desplegar rápidamente en Compute Engine mediante Google Cloud Marketplace. Consulta las siguientes guías para obtener información sobre cómo desplegar MySQL o PostgreSQL.
Otros proveedores de servicios en la nube
Las aplicaciones de App Engine pueden conectarse a bases de datos externas alojadas en otras nubes públicas siempre que los servidores de esas bases de datos y tu cortafuegos estén configurados correctamente para aceptar conexiones. Tu aplicación de App Engine se conecta a través de Internet mediante la dirección IP pública de ese servicio externo.
Bases de datos gestionadas por un proveedor externo
Hay muchos proveedores que ofrecen servicios de bases de datos gestionados, como mLab para MongoDB o Redis Labs, que ofrece almacenamiento en caché de Redis alojado. Estos proveedores se encargan del alojamiento, la configuración y el mantenimiento de las bases de datos. App Engine puede conectarse a estos servicios externos a través de Internet, al igual que otras nubes públicas, mediante la dirección IP pública del servicio.
On‑premise
Si tienes bases de datos locales que quieres que sean accesibles para tu aplicación de App Engine, puedes configurar tu red interna y tu cortafuegos para asignar una dirección IP pública a la base de datos o conectarte mediante una VPN.
Configurar Cloud VPN permite que tu aplicación de App Engine acceda a tu red local sin exponer directamente el servidor de bases de datos a Internet. Como App Engine y Compute Engine usan la misma infraestructura de red, puedes usar la conexión 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 la base de datos.
Consideraciones sobre la producción
App Engine se puede configurar para escalar automáticamente tu aplicación horizontalmente en función de varias métricas. A diferencia de las aplicaciones web, las bases de datos suelen requerir cambios importantes para responder a la escala. En las aplicaciones de producción, App Engine puede sobrecargar rápidamente una base de datos durante los picos de tráfico. Debes tener en cuenta la carga de tráfico media prevista y la carga durante los picos al configurar e implementar bases de datos.