Skip to content

Commit 00edf41

Browse files
committed
update README and pkg versions
1 parent 68b399c commit 00edf41

File tree

11 files changed

+49
-19
lines changed

11 files changed

+49
-19
lines changed

README.md

+38-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Python 2 App Engine app migration
1+
# Python App Engine app migration
22
### To modern runtime, Cloud services, Python 3, and Cloud Run containers
33

44
[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
2323

2424
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.
2525

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+
2628

2729
## Why
2830

@@ -42,7 +44,7 @@ These are the challenges developers are facing, so the purpose of this content i
4244
> **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).
4345
4446

45-
## Progression
47+
## Progression (START and FINISH)
4648

4749
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.
4850

@@ -87,7 +89,8 @@ If there is a logical codelab to do immediately after completing one, they will
8789
- Python 2 only
8890
- START: [Module 0 code - Baseline](/mod0-baseline) (2.x)
8991
- FINISH: [Module 1 code - Framework](/mod1-flask) (2.x)
90-
- NEXT: Module 2 - migrate to Cloud NDB
92+
- NEXT:
93+
- Module 2 - migrate to Cloud NDB
9194

9295

9396
- [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
135138
- Module 11 - migrate to Cloud Functions
136139
- Module 5 - migrate to Cloud Run container with Cloud Buildpacks
137140
- Module 4 - migrate to Cloud Run container with Docker
138-
- Module 6 - migrate to Cloud Firestore
141+
- Module 6 - migrate to Cloud Firestore (app)
139142

140143
- [Module 4 codelab](http://g.co/codelabs/pae-migrate-rundocker): **Migrate from App Engine to [Cloud Run](http://cloud.google.com/run) with Docker**
141144
- **Optional** migration
@@ -165,7 +168,7 @@ If there is a logical codelab to do immediately after completing one, they will
165168
- Module 7 - add App Engine (push) tasks
166169
- Module 11 - migrate to Cloud Functions
167170

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)**
169172
- **Optional** migration
170173
- Recommended only if using Cloud Datastore elsewhere (GAE *or* non-App Engine) apps
171174
- 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
181184
- Module 11 - migrate to Cloud Functions
182185
- Module 5 - migrate to Cloud Run container with Cloud Buildpacks
183186
- Module 4 - migrate to Cloud Run container with Docker
184-
- Module 6 - migrate to Cloud Firestore
187+
- Module 6 - migrate to Cloud Firestore (app)
185188

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
188191
- Requires new project & Datastore has better write performance (currently)
189192
- If you **must have** Firestore's Firebase features
190193
- Python 3 only
191194
- START: [Module 3 code - Cloud Datastore](/mod3b-datastore) (3.x)
192195
- FINISH: [Module 6 code - Cloud Firestore](/mod6-firestore) (3.x)
196+
- NEXT:
197+
- Module 10 - migrate to Cloud Firestore (data)
198+
- RECOMMENDED:
199+
- Module 7 - add App Engine (push) tasks
200+
- OTHER OPTIONS (in somewhat priority order):
201+
- Module 11 - migrate to Cloud Functions
202+
- Module 5 - migrate to Cloud Run container with Cloud Buildpacks
203+
- Module 4 - migrate to Cloud Run container with Docker
204+
205+
- **Module 10 codelab** (TBD): **Migrate from Cloud Datastore to [Cloud Firestore](http://cloud.google.com/firestore)** (data)
206+
- **Highly optional** migration
207+
- Requires new project & Datastore has better write performance (currently)
208+
- If you **must have** Firestore's Firebase features
209+
- Python 3 only
193210
- RECOMMENDED:
194211
- Module 7 - add App Engine (push) tasks
195212
- OTHER OPTIONS (in somewhat priority order):
196213
- Module 11 - migrate to Cloud Functions
197214
- Module 5 - migrate to Cloud Run container with Cloud Buildpacks
198215
- Module 4 - migrate to Cloud Run container with Docker
199216

217+
- **Module 11 codelab** (TBD): **Migrate from App Engine to [Cloud Functions](http://cloud.google.com/run)**
218+
- **Optional** migration
219+
- Recommende for small apps or for breaking up large apps into multiple microservices
220+
- Python 3 only
221+
- START: [Module 2 code - Cloud NDB](/mod2b-cloudndb) (3.x)
222+
- FINISH: [Module 11 code - Cloud Firestore](/mod11-functions) (3.x)
223+
- RECOMMENDED:
224+
- Module 7 - add App Engine (push) tasks
225+
- OTHER OPTIONS (in somewhat priority order):
226+
- Module 5 - migrate to Cloud Run container with Cloud Buildpacks
227+
- Module 4 - migrate to Cloud Run container with Docker
228+
- Module 3 - migrate to Cloud Datastore
229+
200230

201231
## Considerations for mobile developers
202232

mod1-flask/main.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2020 Google LLC
1+
# Copyright 2021 Google LLC
22
#
33
# Licensed under the Apache License, Version 2.0 (the "License");
44
# you may not use this file except in compliance with the License.

mod11-functions/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Module 11 - Migrate from Google App Engine to Cloud Functions
22

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.

mod11-functions/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
flask==1.1.2
2-
google-cloud-ndb==1.8.0
2+
google-cloud-ndb==1.9.0

mod2a-cloudndb/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
flask==1.1.2
2-
google-cloud-ndb==1.8.0
2+
google-cloud-ndb==1.9.0

mod2b-cloudndb/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
flask==1.1.2
2-
google-cloud-ndb==1.8.0
2+
google-cloud-ndb==1.9.0

mod3b-datastore/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
flask==1.1.2
2-
google-cloud-datastore==2.1.2
2+
google-cloud-datastore==2.1.3

mod4a-rundocker/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
gunicorn==19.10.0
22
flask==1.1.2
3-
google-cloud-ndb==1.8.0
3+
google-cloud-ndb==1.9.0

mod4b-rundocker/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
gunicorn==20.1.0
22
flask==1.1.2
3-
google-cloud-datastore==2.1.2
3+
google-cloud-datastore==2.1.3

mod5-runbldpks/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
gunicorn==20.1.0
22
flask==1.1.2
3-
google-cloud-ndb==1.8.0
3+
google-cloud-ndb==1.9.0

mod9-py3dstasks/requirements.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
flask==1.1.2
2-
google-cloud-datastore==2.1.0
3-
google-cloud-tasks==2.1.0
2+
google-cloud-datastore==2.1.3
3+
google-cloud-tasks==2.3.0

0 commit comments

Comments
 (0)