Will legacy app engine python2 service based application continue to run after appcfg shutdown?

66 views
Skip to first unread message

MVI Solutions

unread,
Aug 12, 2020, 9:50:23 PM8/12/20
to Google App Engine
Hello everyone,

One of our projects uses Memcache, Mail API, Task Queue, Cloud KMS V1, and other legacy app engine services for Python 2 (standard env). If we can build this project with gcloud, will this continue to work after August 30 (after appcfg build tool shutdown)?


We really need this to know for one of our clients. 


Thanks

vladoi

unread,
Aug 13, 2020, 6:03:59 AM8/13/20
to Google App Engine
Hello,

Acoordint to the official documentation [1] 
"Starting on January 1, 2020, the Python community will no longer update, fix bugs, or patch security issues for Python 2.7. We recommend that you migrate apps that are still running in the Python 2 runtime of the App Engine standard environment to the Python 3 runtime as soon as possible"

Also [2]
"AppCfg is a utility command that is included in the deprecated App Engine SDK.
We recommend that you replace your use of AppCfg commands with gcloud commands, which is part of the Cloud SDK"

Therefore you application will continue to work but it might have unexpected issues.

-------------------

Charlie Engelke

unread,
Aug 13, 2020, 3:16:29 PM8/13/20
to Google App Engine
You can still deploy and update "legacy app engine python2" applications using gcloud, instead of appcfg. Although version 2.x of the Python language has been deprecated by that community, App Engine apps can still use it. Since the language version itself is no longer being supported or updated, you should look into updating your legacy apps to Python 3 when you can. You could even create new App Engine projects for Python 2, but really should use Python 3 for these instead.

Migrating to App Engine standard for Python 3 will require not only updating source code to run under Python 3, but also replacing services that are not available in the newer runtime. In most cases, there are newer libraries that are functionally similar to the legacy ones. For example, instead of the legacy Memcache, an app can use Memorystore, and use Cloud Tasks instead of Task Queues. There is no direct replacement for the Mail API, but there are partner solutions that can be used instead. Detailed documentation on migrating your apps is available at https://cloud.google.com/appengine/docs/standard/python/migrate-to-python3.

In most cases, you can use the newer libraries in both the Python 2 and Python 3 environments for App Engine, allowing incremental migration to the new environment. Replace the use of legacy APIs one at a time while remaining in the Python 2 runtime, then make needed changes to move to the Python 3 one. There are code samples at https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/appengine/standard/migration that run unchanged (except for configuration files) on either environment.

Thanks,

Charlie
Reply all
Reply to author
Forward
0 new messages