Skip to content
This repository was archived by the owner on Oct 1, 2025. It is now read-only.

Commit 41604a1

Browse files
authored
Merge branch 'master' into master
2 parents a2e0916 + df15ea7 commit 41604a1

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

README.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ We present a very basic first-generation Python 2.7 App Engine app and walk deve
3232
The sample app does not address complexities in your apps but serves as a guide to give you an idea of what is required for each of the migrations. The baseline sample is a Python 2.7 (Gen1) app built on the `webapp2` micro web framework and uses the `ndb` App Engine Datastore library.
3333

3434
> **NOTE:**
35-
> - If your app does not have a user interface, i.e., mobile backends, etc., you still need to migrate to the Flask (or another) web framework to handle mobile app requests. An alternative is to use Cloud Endpoints or migrate your app to the [Firebase mobile & web app platform](https://firebase.google.com) where you can port your App Engine "API handlers" to [Cloud Functions for Firebase](https://firebase.google.com/products/functions).
36-
> - Users interested in bringing back their dead apps that originally ran on the original Python 2.5 runtime ([deprecated in 2013](http://googleappengine.blogspot.com/2013/03/python-25-thanks-for-good-times.html) and [shutdown in 2017](https://cloud.google.com/appengine/docs/standard/python/python25) must [migrate from `db` to `ndb`](http://cloud.google.com/appengine/docs/standard/python/ndb/db_to_ndb) before attempting the techniques shown in this tutorial.
35+
- If your app does not have a user interface, i.e., mobile backends, etc., you still need to migrate to the Flask (or another) web framework to handle mobile app requests. An alternative is to use Cloud Endpoints or migrate your app to the [Firebase mobile & web app platform](https://firebase.google.com) where you can port your App Engine "API handlers" to [Cloud Functions for Firebase](https://firebase.google.com/products/functions).
36+
- Users interested in bringing back their dead apps that originally ran on the original Python 2.5 runtime ([deprecated in 2013](http://googleappengine.blogspot.com/2013/03/python-25-thanks-for-good-times.html) and [shutdown in 2017](https://cloud.google.com/appengine/docs/standard/python/python25) must [migrate from `db` to `ndb`](http://cloud.google.com/appengine/docs/standard/python/ndb/db_to_ndb) before attempting the techniques shown in this tutorial.
3737

3838
As mentioned above, some steps are more critical while others are *optional*. We recommend incremental updates. We designed each step to be relatively easy, so you experience each migration individually. However, there are some of you for whom the migration process may be easier where you may be able to take larger migration leaps.
3939

@@ -81,8 +81,15 @@ Python 2 | Next | Python 3 | Description
8181
[`step3-flask-datastore-py2`](/step3-flask-datastore-py2) | ↓ or → or ⤓+º | [`step3-flask-datastore-py3`]('step3-flask-datastore-py3) | Migrate to Cloud Datastore
8282
[ª`step4-cloudndb-cloudrun-py2`](/step4-cloudndb-cloudrun-py2) | → | [`step4-cloudds-cloudrun-py3`](/step4-cloudds-cloudrun-py3) | Migrate to Cloud Run (with Docker)
8383

84+
- We recommend users perform the minimal migration of Steps 1 & 2.
85+
- To modernize a Python 2 App Engine app by containerizing, jump over Step 3 and go straight to Step 4 then stay there forever if desired.
86+
- Step 3's migration to Cloud Datastore is most useful if you have other apps using Cloud Datastore; you can make your codebase consistent by migrating from Cloud NDB to Cloud Datastore so all your Datastore access is consistent, possibly lowering your maintenance costs.
87+
- Migrating to Step 4 is only useful if you wish to containerize your app and run it serverlessly with Cloud Run. The Python 2 app uses Cloud NDB while the Python 3 equivalent uses Cloud Datastore.
88+
8489
### Alternatives
8590

91+
There are several alternatives to consider to the main steps above: 1) migrating to Cloud Firestore for those who desire to take advantage of the next-generation of Cloud Datastore that has features from the Firebase real-time database, and 2) an alternative to building containers using [Cloud Buildpacks](https://github.com/GoogleCloudPlatform/buildpacks) instead of Docker.
92+
8693
- Cloud Datastore & Cloud Firestore are mutually-exclusive, thus requiring a new project
8794
- Thus it is much less likely users perform this migration; see Step 3a if it's a **must-have**
8895
- Step 4a is for developers who want to containerize their apps but **without** Docker

step2-flask-cloudndb-py3/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,4 @@ handlers:
3636
From here, your options are:
3737

3838
- [**Step 4:**](/step4-cloudds-cloudrun-py3) Migrate your app to a container executing serverlessly on Cloud Run
39-
- [**Step 3:**](/step3-flask-datastore-py3) Further modernize Datastore access from Cloud NDB to the (official) Cloud Datastore library (how users *outside of* App Engine access Cloud Datastore)
39+
- [**Step 3:**](/step3-flask-datastore-py3) Further modernize Datastore access from Cloud NDB to the (official) Cloud Datastore library (how users *outside of* App Engine access Cloud Datastore)

step4-cloudds-cloudrun-py3/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,4 @@ Doublecheck there are no files/folders named, `app.yaml`, `appengine_config.py`,
8080
Congratulations... your app is fully modernized now, concluding this tutorial. From here, there is only one more thing you can investigate:
8181

8282
- [**Step 4a:**](/step4a-cloudrun-bldpks-py3) An alternative to app in *this* tutorial, containerizing your app with [Cloud Buildpacks](https://github.com/GoogleCloudPlatform/buildpacks) instead of Docker.
83-
- [**Step 3a:**](/step3a-flask-firestore-py3) For those who are considering migrating from Cloud Datastore to Firestore (NOTE: that app is not containerized & runs on App Engine)
83+
- [**Step 3a:**](/step3a-flask-firestore-py3) For those who are considering migrating from Cloud Datastore to Firestore (NOTE: that app is not containerized & runs on App Engine)

0 commit comments

Comments
 (0)