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 otro proveedor de servicios en la nube, en las instalaciones 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 estándar de Python 2, te recomendamos uno de los siguientes Google Cloud servicios de almacenamiento:
Nombre | Estructura | Coherencia | Coste |
---|---|---|---|
Firestore en el modo de Datastore | Sin esquema (NoSQL) | Muy coherente, excepto cuando se realizan consultas globales. | El modo Datastore ofrece una cuota gratuita con límites diarios. Las cuentas de pago ofrecen almacenamiento, lectura y operaciones de escritura ilimitados. Consulta más información en la página Cuotas de Datastore. |
Cloud SQL para MySQL o Cloud SQL para PostgreSQL |
Relacional | Consistencia fuerte | Google ofrece dos planes de facturación para Google Cloud SQL: por paquetes y por uso. Puedes consultar más información en la hoja de precios de Cloud SQL. |
Cloud Storage | Archivos y sus metadatos asociados (almacenamiento de archivos en la nube) | Sólidamente coherente, excepto cuando se realizan operaciones de lista que obtienen una lista de segmentos u objetos. | No se aplican cargos por hacer llamadas a Google Cloud Storage.
Sin embargo, los datos almacenados en Google Cloud Storage se cobran según las tarifas habituales de almacenamiento de datos de Google Cloud Storage. Los precios de Cloud Storage están disponibles en la hoja de precios de Cloud Storage. |
Estas opciones no se excluyen mutuamente. Por ejemplo, la misma aplicación puede almacenar información en una base de datos de Cloud SQL y también almacenar archivos en un segmento de Cloud Storage.
Consulta una lista completa de los Google Cloud productos de almacenamiento en la página de productos de Cloud Storage.
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.
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.