PM on the team.
Flex allows bigger instance sizes, VPC access, custom base docker images with custom binaries. Generally, it's a bit more flexible. :)
Thanks for the response! You all are doing some good work.
Does this runtime have access to the Standard APIs? It doesn't seem like the docs have any mention of Task Queue/Memcache/etc.
No. The real issue is that these APIs/platforms are closed source. Sooner or later you may need to move a service from appengine to a non-gae environment and you will find that nothing works. If you invest in tools/libs (i.e wrappers/ORM around the GAE APIs) the loss is even bigger.
Flex feels like a lower level of abstraction. You provide a docker file and what you want your machines to look like (vcpu, ram, storage) and it handles everything else. Standard is much closer to Heroku with the added benefit of being able to call APIs for managed services. If you want control over your environment (including what dependencies are available), you want to use Flex. In every other case, I think Standard is the way to go.
It only supports Node v8 (which sounds like an upside to me). The main difference is that you can't customize the run time image.
As far as I can tell, Flexible also only supports Node v8 unless you customize and host your own docker container in the registry. OOTB, deploying with v9+ generates an error