Google App Engine limits and vendor locks
At the beginning of the 2015 I worked on a python application in Google App Engine. After all, because of some limitations and vendor locks, the app was moved to docker environment. Here is the list of these limitations. I did not check since then, maybe something changed, there is App Engine Flexible Environment, but it’s still in beta.
-
It’s not possible to send logs to the external service, the interface in the google console is slow and ugly. The good thing is that it groups logs by request.
-
MySQL is limited to version choosed by Google, at that time it was 5.6 and no information about when it will be updated to 5.7.
-
MongoDB does not exist, no possible to use external instance through direct connection, only through REST.
-
Instead MongoDB there is Google Cloud Datastore, it’s a vendor lock and i did not find a way to work with a document without schema.
-
For cache there is a memcached from their lib
google.appengine.api.memcache
, for flexibility better to use a werkzeug cache wrapper. -
Tasks queue is also a vendor lock, with some efforts it can be replaced with celery.