Skip to content

Commit e736cc7

Browse files
committed
add latest videos & switch to bundled services public preview
1 parent 8c60e99 commit e736cc7

File tree

5 files changed

+12
-13
lines changed

5 files changed

+12
-13
lines changed

.README.md.swp

-24 KB
Binary file not shown.

README.md

+7-8
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Each codelab begins with a "START" code base then walks developers through that
2929

3030
App Engine, Cloud Functions, and Cloud Run are not free services. 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.
3131

32-
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) or [Artifact Registry](https://cloud.google.com/artifact-registry/pricing), its successor; 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).)
32+
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), or [Artifact Registry](https://cloud.google.com/artifact-registry/pricing), its successor; 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).)
3333

3434

3535
## Why
@@ -83,9 +83,9 @@ Module | Topic | Video | Codelab | START here | FINISH here
8383
3|Migrate to Cloud Datastore| [link](http://twitter.com/googledevs/status/1422966928910393347?utm_source=twitter&utm_medium=unpaidsoc&utm_campaign=CDR_wes_aap-serverless_mgrcloudds_201003&utm_content=-) | [link](http://g.co/codelabs/pae-migrate-datastore) | Module 2 [code](/mod2a-cloudndb) (2.x) & [code](/mod2b-cloudndb) (3.x) | Module 3 [code](/mod3a-datastore) (2.x) & [code](/mod3b-datastore) (3.x)
8484
4|Migrate to Cloud Run with Docker| [link](https://twitter.com/googledevs/status/1428041270702735362?utm_source=twitter&utm_medium=unpaidsoc&utm_campaign=CDR_wes_aap-serverless_mgrcrdckr_sms_201017&utm_content=-)| [link](http://g.co/codelabs/pae-migrate-rundocker) | Module 2 [code](/mod2a-cloudndb) (2.x) & Module 3 [code](/mod3b-datastore) (3.x) | Module 4 [code](/mod4a-rundocker) (2.x) & [code](/mod4b-rundocker) (3.x)
8585
5|Migrate to Cloud Run with Buildpacks| [link](https://twitter.com/googledevs/status/1433113274984271875?utm_source=twitter&utm_medium=unpaidsoc&utm_campaign=CDR_wes_aap-serverless_mgrcrbdpk_sms_201031&utm_content=-) | [link](http://g.co/codelabs/pae-migrate-runbldpks) | Module 2 [code](/mod2b-cloudndb) (3.x) | Module 5 [code](/mod5-runbldpks) (3.x)
86-
6|Migrate to Cloud Firestore (app)| _TBD_ | [link](http://g.co/codelabs/pae-migrate-firestore) | Module 3 [code](/mod3b-datastore) (3.x) | Module 6 [code](/mod6-firestore) (3.x)
87-
7|Add App Engine `taskqueue` push tasks| _TBD_ | [link](http://g.co/codelabs/pae-migrate-gaetasks) | Module 1 [code](/mod1-flask) (2.x) | Module 7 [code](/mod7-gaetasks) (2.x) & [code](/mod7b-gaetasks) (3.x)
88-
8|Migrate to Cloud Tasks| _TBD_ | [link](http://g.co/codelabs/pae-migrate-cloudtasks) | Module 7 [code](/mod7-gaetasks) (2.x) | Module 8 [code](/mod8-cloudtasks) (2.x)
86+
6|Migrate to Cloud Firestore (app)| [link](http://youtu.be/wNs36kukVOQ?list=PL2pQQBHvYcs0PEecTcLD9_VaLvuhK0_VQ?utm_source=youtube&utm_medium=unpaidsoc&utm_campaign=CDR_wes_aap-serverless_mgrcloudfsam_sms_201014&utm_content=info_card) | [link](http://g.co/codelabs/pae-migrate-firestore) | Module 3 [code](/mod3b-datastore) (3.x) | Module 6 [code](/mod6-firestore) (3.x)
87+
7|Add App Engine `taskqueue` push tasks| [link](https://twitter.com/googledevs/status/1443410302113099778?utm_source=twitter&utm_medium=unpaidsoc&utm_campaign=CDR_wes_aap-serverless_mgrgaetasks_sms_201028&utm_content=-) | [link](http://g.co/codelabs/pae-migrate-gaetasks) | Module 1 [code](/mod1-flask) (2.x) | Module 7 [code](/mod7-gaetasks) (2.x) & [code](/mod7b-gaetasks) (3.x)
88+
8|Migrate to Cloud Tasks| [link](https://twitter.com/googledevs/status/1450960021018267656?utm_source=twitter&utm_medium=unpaidsoc&utm_campaign=CDR_wes_aap-serverless_mgrcloudtasks_sms_201112&utm_content=-) | [link](http://g.co/codelabs/pae-migrate-cloudtasks) | Module 7 [code](/mod7-gaetasks) (2.x) | Module 8 [code](/mod8-cloudtasks) (2.x)
8989
9|Migrate to Python 3, Cloud Firestore & Cloud Tasks v2| _TBD_ | _TBD_ | Module 8 [code](/mod8-cloudtasks) (2.x) | Module 9 [code](/mod9-py3fstasks) (3.x)
9090
10|Migrate to Cloud Firestore (data)| _TBD_ | _N/A_ | _N/A_ | _TBD_
9191
11|Migrate to Cloud Functions| _TBD_ | _TBD_ | Module 2 [code](/mod2b-cloudndb) (3.x) | Module 11 [code](/mod11-functions) (3.x)
@@ -196,12 +196,11 @@ If there is a logical codelab to do immediately after completing one, they will
196196
- Module 11 - migrate to Cloud Functions
197197
- Module 5 - migrate to Cloud Run container with Cloud Buildpacks
198198
- Module 4 - migrate to Cloud Run container with Docker
199-
- Module 6 - migrate to Cloud Firestore (app)
200199

201200
- [Module 6 codelab](http://g.co/codelabs/pae-migrate-firestore): **Migrate from Cloud Datastore to [Cloud Firestore](http://cloud.google.com/firestore)** (app)
202201
- **Highly optional** migration
203-
- Requires new project & Datastore has better write performance (currently)
204-
- If you **must have** Firestore's Firebase features
202+
- Requires new project & Datastore has better write performance (currently) and is a fully-supported product and will get new features, including some Firestore native features
203+
- If you **must have** Firestore's Firebase features now and can't wait
205204
- Python 3 only
206205
- START: [Module 3 code - Cloud Datastore](/mod3b-datastore) (3.x)
207206
- FINISH: [Module 6 code - Cloud Firestore](/mod6-firestore) (3.x)
@@ -261,7 +260,7 @@ If your original app users does *not* have a user interface, i.e., mobile backen
261260

262261
## Accessing legacy services in second generation
263262

264-
Some legacy App Engine first generation platform (Python 2, Java 8, PHP 5, and Go 1.11 & older) services are available on a limited basis to second generation runtimes (Python 3, Java 11, PHP 7, and Go 1.12 & newer) as part of an early-access program. There are no videos or codelabs yet, however the Module 1 Flask migration using App Engine `ndb` [Python 2 sample ](/mod1-flask) is available in [Python 3](/mod1b-flask) if you have access. Similarly, Python 3 editions are also available for Modules 7 and 12 which add usage of App Engine `taskqueue` and `memcache`, respectively. See their respective `README` files for more info and to sign-up if interested.
263+
Many legacy App Engine first generation platform (Python 2, Java 8, PHP 5, and Go 1.11 & older) services are available ([as of Sep 2021](https://twitter.com/googledevs/status/1445916786755571712) for second generation runtimes (Python 3, Java 11, PHP 7, and Go 1.12 & newer) in a public preview. There are no videos or codelabs yet, however the Module 1 Flask migration using App Engine `ndb` [Python 2 sample ](/mod1-flask) is available in [Python 3](/mod1b-flask) if you have access. Similarly, Python 3 editions are also available for Modules 7 and 12 which add usage of App Engine `taskqueue` and `memcache`, respectively.
265264

266265

267266
## References

mod12b-memcache/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
This repo folder is the corresponding Python 3 code to the Module 12 codelab (TBD). The tutorial STARTs with the Python 2 code in the [Module 1 repo folder](/mod1-flask) and leads developers through adding usage of App Engine's `memcache`, followed by a bonus migration to Python 3, culminating in the code in this folder.
44

5-
> **LEGACY SERVICES PRIVATE PREVIEW**: Accessing legacy services such as App Engine `ndb` and `memcache` from Python 3 (and next generation App Engine in general) is currently in private preview and requires allowlisted access. Please complete [this form](https://docs.google.com/forms/d/e/1FAIpQLSd1hFLA2UFSYwIMxm9ZI3pwigORZBgjJRH0qrnhtE7nvhhRCQ/viewform) to sign-up for the program. Registering will get you in the queue to access the private preview, its documentation, and the announcements mailing list. For more info on what services are (or are not) available (at this time), see [this thread in the r/AppEngine Subreddit](https://reddit.com/r/AppEngine/comments/o9wr72).
5+
> **LEGACY SERVICES PUBLIC PREVIEW**: Accessing legacy services such as App Engine `ndb` and `memcache` from Python 3 (and next generation App Engine in general) is available in a public preview. See the [Sep 2021 announcement](https://twitter.com/googledevs/status/1445916786755571712) for more information.

mod1b-flask/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Module 1 - Migrate from `webapp2` to Flask
22

3-
This repo folder is the corresponding Python 3 code to the [Module 1 codelab](http://g.co/codelabs/pae-migrate-flask). The tutorial STARTs with the Python 2 code in the [Module 0 repo folder](/mod0-baseline) and leads developers through migrating away from App Engine's `webapp2` web framework to Flask, culminating in the code in the [mod1-flask](/mod1-flask) folder. The codelab does **not** currently feature any bonus migration to Python 3, however, if you do so, and add in components from the legacy services private preview program (see sidebar below), it will culminate in the code in *this* (`mod1b-flask`) folder. In the [next (Module 2) codelab](http://g.co/codelabs/pae-migrate-cloudndb), users will migrate (the original Python 2 version of) this app from App Engine `ndb` to Cloud NDB for Datastore access.
3+
This repo folder is the corresponding Python 3 code to the [Module 1 codelab](http://g.co/codelabs/pae-migrate-flask). The tutorial STARTs with the Python 2 code in the [Module 0 repo folder](/mod0-baseline) and leads developers through migrating away from App Engine's `webapp2` web framework to Flask, culminating in the code in the [mod1-flask](/mod1-flask) folder. The codelab does **not** currently feature any bonus migration to Python 3, however doing so requires you to participate in the bundled services public preview program (see sidebar below) and which culminates in the code in *this* (`mod1b-flask`) folder. In the [next (Module 2) codelab](http://g.co/codelabs/pae-migrate-cloudndb), users will migrate (the original Python 2 version of) this app from App Engine `ndb` to Cloud NDB for Datastore access.
44

5-
> **LEGACY SERVICES PRIVATE PREVIEW**: Accessing legacy services such as App Engine `ndb` from Python 3 (and next generation App Engine in general) is currently in private preview and requires allowlisted access. Please complete [this form](https://docs.google.com/forms/d/e/1FAIpQLSd1hFLA2UFSYwIMxm9ZI3pwigORZBgjJRH0qrnhtE7nvhhRCQ/viewform) to sign-up for the program. Registering will get you in the queue to access the private preview, its documentation, and the announcements mailing list. For more info on what services are (or are not) available (at this time), see [this thread in the r/AppEngine Subreddit](https://reddit.com/r/AppEngine/comments/o9wr72).
5+
> **LEGACY SERVICES PUBLIC PREVIEW**: Accessing legacy services such as App Engine `ndb` from Python 3 (and next generation App Engine in general) is available in a public preview. See the [Sep 2021 announcement](https://twitter.com/googledevs/status/1445916786755571712) for more information.

mod7b-gaetasks/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Module 7 - Add usage of App Engine `taskqueue` to Flask `ndb` sample app
22

3-
This repo folder is the corresponding Python 3 code to the [Module 7 codelab](http://g.co/codelabs/pae-migrate-gaetasks). The tutorial STARTs with the Python 2 code in the [Module 1 repo folder](/mod1-flask) and leads developers through adding usage of App Engine's `taskqueue`, culminating in the code in the [mod7-gaetasks](/mod7-gaetasks) folder. The codelab does **not** currently feature any bonus migration to Python 3, however, if you do so, and add in components from the legacy services private preview program (see sidebar below), it will culminate in the code in *this* (`mod7b-gaetasks`) folder. In the [next (Module 8) codelab](http://g.co/codelabs/pae-migrate-cloudtasks), users will migrate (the original Python 2 version of) this app from App Engine `taskqueue` to Cloud Tasks.
3+
This repo folder is the corresponding Python 3 code to the [Module 7 codelab](http://g.co/codelabs/pae-migrate-gaetasks). The tutorial STARTs with the Python 2 code in the [Module 1 repo folder](/mod1-flask) and leads developers through adding usage of App Engine's `taskqueue`, culminating in the code in the [mod7-gaetasks](/mod7-gaetasks) folder. The codelab does **not** currently feature any bonus migration to Python 3, however to do so requires you to participate in the bundled services public preview program (see sidebar below) and which culminates in the code in *this* (`mod7b-gaetasks`) folder. In the [next (Module 8) codelab](http://g.co/codelabs/pae-migrate-cloudtasks), users will migrate (the original Python 2 version of) this app from App Engine `taskqueue` to Cloud Tasks.
44

5-
> **LEGACY SERVICES PRIVATE PREVIEW**: Accessing legacy services such as App Engine `ndb` and `taskqueue` from Python 3 (and next generation App Engine in general) is currently in private preview and requires allowlisted access. Please complete [this form](https://docs.google.com/forms/d/e/1FAIpQLSd1hFLA2UFSYwIMxm9ZI3pwigORZBgjJRH0qrnhtE7nvhhRCQ/viewform) to sign-up for the program. Registering will get you in the queue to access the private preview, its documentation, and the announcements mailing list. For more info on what services are (or are not) available (at this time), see [this thread in the r/AppEngine Subreddit](https://reddit.com/r/AppEngine/comments/o9wr72).
5+
> **LEGACY SERVICES PUBLIC PREVIEW**: Accessing legacy services such as App Engine `ndb` and `taskqueue` from Python 3 (and next generation App Engine in general) is available in a public preview. See the [Sep 2021 announcement](https://twitter.com/googledevs/status/1445916786755571712) for more information.

0 commit comments

Comments
 (0)