Python 2.7 has reached end of support
and will be
deprecated
on January 31, 2026. After deprecation, you won't be able to deploy Python 2.7
applications, even if your organization previously used an organization policy to
re-enable deployments of legacy runtimes. Your existing Python
2.7 applications will continue to run and receive traffic after their
deprecation date. We recommend that
you
migrate to the latest supported version of Python.
Understanding Data and File Storage
Stay organized with collections
Save and categorize content based on your preferences.
To store data and files on App Engine, you can use Google Cloud services
or any other storage service that is supported by your language and is
accessible from your App Engine instance. Third-party databases
can be hosted on another cloud provider,
hosted on premises, or managed by a third-party vendor.
Google Cloud storage services
For App Engine apps running in the Python 2 standard environment, we recommend
one of the following Google Cloud storage services:
Name |
Structure |
Consistency |
Cost |
Firestore in Datastore mode |
Schemaless (NoSQL) |
Strongly consistent except when performing global queries. |
Datastore mode offers a free quota with daily limits. Paid accounts offer unlimited storage, read, and write operations. More information is available on the Datastore Quotas page. |
Cloud SQL for MySQL or
Cloud SQL for PostgreSQL |
Relational |
Strongly consistent |
Google offers two billing plans for Google Cloud SQL: packages and per use. More information is available in the Cloud SQL price sheet. |
Cloud Storage |
Files and their associated metadata (Cloud file storage) |
Strongly consistent except when performing list operations that get a list of buckets or objects. |
There are no charges associated with making calls to Google Cloud Storage.
However, any data stored in Google Cloud Storage is charged the usual
Google Cloud Storage data storage fees.
Cloud Storage prices are
available on the Cloud Storage price sheet. |
These options are not mutually exclusive. For example, the same application
can store information in a Cloud SQL database, and also store files in a Cloud
Storage bucket.
See a complete list of the Google Cloud storage products on the
Cloud Storage Products page.
Other cloud providers
App Engine apps can connect to external databases that are hosted on
other public clouds as long as those database servers and your firewall are
configured properly to accept connections. Your App Engine app connects
over the Internet using that external service's public IP address.
Databases managed by a third-party vendor
There are many vendors offering managed database services such as
mLab for MongoDB, Redis Labs offers hosted
Redis caching. These vendors handle
hosting, configuration, and maintenance of databases. App Engine can
connect to these external services over the Internet, in the same way as other
public clouds by using that service's public IP address.
On premises
If you have existing on-premises databases that you want to make accessible to
your App Engine app, you can either configure your internal
network and firewall to give the database a public IP address or connect using a
VPN.
Production considerations
App Engine can be configured to automatically scale your application
horizontally
based on various metrics. Unlike web applications, databases often
require non-trivial changes to respond to scale. In production applications,
App Engine can quickly overwhelm a database during traffic spikes. You
should take the anticipated average traffic load and load during spikes into
consideration when configuring and deploying databases.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-25 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eApp Engine allows data storage through Google Cloud services, external cloud providers, third-party vendors, or on-premises databases.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Cloud offers several storage options including Firestore in Datastore mode (NoSQL), Cloud SQL (relational), and Cloud Storage (file storage), each with unique consistency models and pricing structures.\u003c/p\u003e\n"],["\u003cp\u003eApp Engine apps can connect to external databases hosted on other cloud platforms or managed by third-party vendors, provided the servers and firewalls are configured to allow connections via public IP addresses.\u003c/p\u003e\n"],["\u003cp\u003eFor on-premises databases, connectivity to App Engine can be established by configuring a public IP address for the database or using a VPN.\u003c/p\u003e\n"],["\u003cp\u003eDatabase scalability should be carefully considered in production, as App Engine's ability to scale horizontally can lead to traffic spikes that overwhelm databases if they are not configured appropriately.\u003c/p\u003e\n"]]],[],null,["# Understanding Data and File Storage\n\nTo store data and files on App Engine, you can use Google Cloud services\nor any other storage service that is supported by your language and is\naccessible from your App Engine instance. Third-party databases\ncan be hosted on another cloud provider,\nhosted on premises, or managed by a third-party vendor.\n\nGoogle Cloud storage services\n-----------------------------\n\nFor App Engine apps running in the Python 2 standard environment, we recommend\none of the following Google Cloud storage services:\n\n\nThese options are not mutually exclusive. For example, the same application\ncan store information in a Cloud SQL database, and also store files in a Cloud\nStorage bucket.\n\n\u003cbr /\u003e\n\nSee a complete list of the Google Cloud storage products on the\n[Cloud Storage Products page](/products/storage).\n\nOther cloud providers\n---------------------\n\nApp Engine apps can connect to external databases that are hosted on\nother public clouds as long as those database servers and your firewall are\nconfigured properly to accept connections. Your App Engine app connects\nover the Internet using that external service's public IP address.\n\nDatabases managed by a third-party vendor\n-----------------------------------------\n\nThere are many vendors offering managed database services such as\n[mLab](/mongodb) for MongoDB, Redis Labs offers hosted\n[Redis caching](https://redislabs.com/redis-enterprise/cloud/). These vendors handle\nhosting, configuration, and maintenance of databases. App Engine can\nconnect to these external services over the Internet, in the same way as other\npublic clouds by using that service's public IP address.\n\nOn premises\n-----------\n\nIf you have existing on-premises databases that you want to make accessible to\nyour App Engine app, you can either configure your internal\nnetwork and firewall to give the database a public IP address or connect using a\nVPN.\n\nProduction considerations\n-------------------------\n\nApp Engine can be configured to automatically scale your application\n[horizontally](https://wikipedia.org/wiki/Scalability#Horizontal_and_vertical_scaling)\nbased on various metrics. Unlike web applications, databases often\nrequire non-trivial changes to respond to scale. In production applications,\nApp Engine can quickly overwhelm a database during traffic spikes. You\nshould take the anticipated average traffic load and load during spikes into\nconsideration when configuring and deploying databases."]]