You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+38-8
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Python 2 App Engine app migration
1
+
# Python App Engine app migration
2
2
### To modern runtime, Cloud services, Python 3, and Cloud Run containers
3
3
4
4
[Google App Engine](https://cloud.google.com/appengine) (Standard) has undergone significant changes between the legacy and next generation platforms. To address this, we've created a set of codelabs (free, online, self-paced, hands-on tutorials) to show developers how to perform individual migrations they can apply to modernize their apps for the latest runtimes, with this repo managing the samples from those codelabs.
@@ -23,6 +23,8 @@ Each codelab begins with a "START" code base then walks developers through that
23
23
24
24
App Engine is not a free service. While you may not have needed to enable billing in App Engine's early days, [all applications now require an active billing account](https://cloud.google.com/appengine/docs/standard/payment-instrument) backed by a financial instrument (usually a credit card). Don't worry, App Engine (and other GCP products) still have an ["Always Free" tier](https://cloud.google.com/free/docs/gcp-free-tier#free-tier-usage-limits) and as long as you stay within those limits, you won't incur any charges. Also check the App Engine [pricing](https://cloud.google.com/appengine/pricing) and [quotas](https://cloud.google.com/appengine/quotas) pages for more information.
25
25
26
+
Furthermore, deploying to GCP serverless platforms incur [minor build and storage costs](https://cloud.google.com/appengine/pricing#pricing-for-related-google-cloud-products). [Cloud Build](https://cloud.google.com/build/pricing) has its own free quota as does [Cloud Storage](https://cloud.google.com/storage/pricing#cloud-storage-always-free). For greater transparency, Cloud Build builds your application image which is than sent to the [Cloud Container Registry](https://cloud.google.com/container-registry/pricing); storage of that image uses up some of that (Cloud Storage) quota as does network egress when transferring that image to the service you're deploying to. However you may live in region that does not have such a free tier, so be aware of your storage usage to minimize potential costs. (You may look at what storage you're using and how much, including deleting build artifacts via [your Cloud Storage browser](https://console.cloud.google.com/storage/browser).)
27
+
26
28
27
29
## Why
28
30
@@ -42,7 +44,7 @@ These are the challenges developers are facing, so the purpose of this content i
42
44
> **NOTE:** App Engine ([Flexible](https://cloud.google.com/appengine/docs/flexible/python/runtime?hl=en#interpreter)) is a next-gen service but is not within the scope of these tutorials. Developers who are curious can compare App Engine [Standard vs. Flexible](https://cloud.google.com/appengine/docs/the-appengine-environments).
43
45
44
46
45
-
## Progression
47
+
## Progression (START and FINISH)
46
48
47
49
All codelabs begin with code in a START repo folder and end with code in a FINISH folder, implementing a single migration. Upon completion, users should confirm their code (for the most part) matches what's in the FINISH folder. The baseline migration sample app (Module 0; link below) is a barebones Python 2.7 App Engine app that uses the `webapp2` web framework plus the `ndb` Datastore library.
48
50
@@ -87,7 +89,8 @@ If there is a logical codelab to do immediately after completing one, they will
-[Module 2 codelab](http://g.co/codelabs/pae-migrate-cloudndb): **Migrate from App Engine `ndb` to [Cloud NDB](https://googleapis.dev/python/python-ndb/latest)**
@@ -135,7 +138,7 @@ If there is a logical codelab to do immediately after completing one, they will
135
138
- Module 11 - migrate to Cloud Functions
136
139
- Module 5 - migrate to Cloud Run container with Cloud Buildpacks
137
140
- Module 4 - migrate to Cloud Run container with Docker
138
-
- Module 6 - migrate to Cloud Firestore
141
+
- Module 6 - migrate to Cloud Firestore (app)
139
142
140
143
-[Module 4 codelab](http://g.co/codelabs/pae-migrate-rundocker): **Migrate from App Engine to [Cloud Run](http://cloud.google.com/run) with Docker**
141
144
-**Optional** migration
@@ -165,7 +168,7 @@ If there is a logical codelab to do immediately after completing one, they will
165
168
- Module 7 - add App Engine (push) tasks
166
169
- Module 11 - migrate to Cloud Functions
167
170
168
-
-[Module 3 codelab](http://g.co/codelabs/pae-migrate-datastore): **Migrate from Cloud NDB to Cloud Datastore**
171
+
-[Module 3 codelab](http://g.co/codelabs/pae-migrate-datastore): **Migrate from Cloud NDB to [Cloud Datastore](http://cloud.google.com/datastore)**
169
172
-**Optional** migration
170
173
- Recommended only if using Cloud Datastore elsewhere (GAE *or* non-App Engine) apps
171
174
- Helps w/code consistency & reusability, reduces maintenance costs
@@ -181,22 +184,49 @@ If there is a logical codelab to do immediately after completing one, they will
181
184
- Module 11 - migrate to Cloud Functions
182
185
- Module 5 - migrate to Cloud Run container with Cloud Buildpacks
183
186
- Module 4 - migrate to Cloud Run container with Docker
184
-
- Module 6 - migrate to Cloud Firestore
187
+
- Module 6 - migrate to Cloud Firestore (app)
185
188
186
-
-[Module 6 codelab](http://g.co/codelabs/pae-migrate-firestore): **Migrate from Cloud Datastore to [Cloud Firestore](http://cloud.google.com/firestore)**
187
-
-**Highly optional** migration (WARNING: infrequent/uncommon & "expensive" migration)
189
+
-[Module 6 codelab](http://g.co/codelabs/pae-migrate-firestore): **Migrate from Cloud Datastore to [Cloud Firestore](http://cloud.google.com/firestore)** (app)
190
+
-**Highly optional** migration
188
191
- Requires new project & Datastore has better write performance (currently)
189
192
- If you **must have** Firestore's Firebase features
# Module 11 - Migrate from Google App Engine to Cloud Functions
2
2
3
-
This repo folder is the corresponding code to the [Module 11 codelab](http://g.co/codelabs/pae-migrate-functions). The tutorial STARTs with the Python 3 code in the [Module 2 repo Python3 folder](/mod2b-cloudndb) and leads developers through migrating away from App Engine to Cloud Functions, culminating in the code in this folder.
3
+
This repo folder is the corresponding code to the (_forthcoming_) Module 11 codelab. The tutorial STARTs with the Python 3 code in the [Module 2 repo Python3 folder](/mod2b-cloudndb) and leads developers through migrating away from App Engine to Cloud Functions, culminating in the code in this folder.
0 commit comments