Explicación del almacenamiento de datos y archivos

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 alojarse en Compute Engine, en otro proveedor de servicios en la nube, de forma local o estar bajo la administración de un proveedor externo.

Servicios de Google Cloud Storage

Para las aplicaciones de App Engine que se ejecutan en el entorno flexible de Go, recomendamos uno de los siguientes servicios de Google Cloud Storage:

Consulta una lista completa de los productos de Google Cloud Storage en la página de productos de Cloud Storage.

Hosting en Compute Engine

Las instancias de App Engine pertenecen a 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 pasar por la Internet pública. En muchos casos, tu aplicación se conecta con los servicios que usan la dirección IP interna de la instancia, sin tener que asignar una dirección IP externa y pública a la base de datos. Si lo deseas, puedes asignar una dirección IP pública a fin de permitir el acceso 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, pueden implementarse con rapidez en Compute Engine mediante Cloud Launcher. Consulta las guías siguientes para obtener detalles sobre cómo implementar MySQL o PostgreSQL.

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 de terceros

Hay muchos proveedores que ofrecen servicios de bases de datos administradas, 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.

Bases de datos locales

Si tienes bases de datos locales existentes y deseas que tu app de App Engine tenga acceso a ellas, configura tu firewall y red interna 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 app 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 picos 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 picos.