python managed VMs success story! (so far...)

94 views
Skip to first unread message

Adam Sah

unread,
Mar 8, 2016, 3:35:01 PM3/8/16
to Google App Engine
My 5+ year old GAE/Python app migrated to Managed VMs (MVM) flawlessly!  (enterprise app with 15,000+ users doing all sorts of different things - not a simple website)

easy upgrade:
 - minimal code changes - just changed app.yaml and our deploy scripts
 - deploys into a new "version" of the same dev/staging/production instances as non-MVM GAE, i.e. share backup/restore, one click to split/migrate traffic, etc
 - one click to rollback
 - can upgrade some modules and not others; if you're still using backends, they can stay on native GAE.  Example: cron.yaml jobs can still run on GAE native if you want.

lots of immediate wins:
 - 30-300% performance boost (depending on the activity, of course - I/O bound not so much)
 - immediate $$$ savings 
 - not limited to 1GB RAM and in fact it starts with 1.7GB.
 - not limited to slow or single core CPUs

lots of roadmap wins:
 - native libraries
 - python3
 - can SSH into live instance(s) -- though admittedly, I haven't figured out the value yet...

wrinkles:
 - deploy time is much slower -- 8+ mins
 - auto-scaling is a lot slower, i.e. in practice users may get 502 errors if you don't provision correctly - even with auto-scaling
 - logs are more detailed but harder to read - native GAE had nice simple stack traces
 - deploys to one zone/region for now -- native GAE was multi-homed
 - docs were incomplete, e.g. didn't mention needing to push cron.yaml, index.yaml
 - error messages are incomplete, e.g. queue.yaml needs to be precisely named that (where other yaml files can have any name)

hope this helps,   (and feedback welcome)
adam

Adam Sah

unread,
Mar 8, 2016, 11:14:14 PM3/8/16
to Google App Engine
quick followup and a good example of how it's easy to run components side-by-side:
 - Image processing (PIL) doesn't work yet - bummer because my app resizes its images.
 - but no problem!  I just setup a 302 redirect back to the old app version, which still runs on demand! (or use urlfetch or ...)

adam

Jon Parrott

unread,
Mar 10, 2016, 3:04:17 PM3/10/16
to Google App Engine
Hey Adam, thanks for the great feedback.

Can you give me a bit more details on PIL not working for you? Which runtime are you using?

Adam Sah

unread,
Mar 10, 2016, 3:39:06 PM3/10/16
to Google App Engine
Actually, I misspoke - it's the Images API that's the trouble, which was covered elsewhere: https://groups.google.com/forum/#!topic/google-appengine/jdwYig9smJI
   (just need to update the GAE/MVM docs to mention this explicitly, and ideally detect if an app might be using this 

Currently, I'm fighting with the timezone issue: https://groups.google.com/forum/#!topic/google-appengine/8vob1UfnRpY

adam
Reply all
Reply to author
Forward
0 new messages