well if you just use appengine without using a vendor lock-in service, i.e. using cloudsql instead of datastore, etc. than you probably won't run into trouble.
but it looks like appengine still has it's momentum (they actually added java8 support lately)
The AppEngine Standard Java 8 API is severely limited because it is coupled to the Servlet API, which severely screwed up on the design of its async API. As a Scala developer, this limitation pretty much sinks the platform for me, since the flexible environment is really expensive and has a worse value proposition vs managed Kubernetes.
App Engine runs your Java web application using a Java 6
JVM in a safe "sandboxed" environemnt. App Engine invokes
your app's servlet classes to handle requests and prepare
responses in this environment.
A Googler accidentally mentioned this at their dev. conference in India last year.
The "other language" (which has been in the AppEngine roadmap for a long time) was always going to be either Java or Javascript, but all the bets were on Java
I work in Product Management on App Engine, and I'd like to assure you that we're continuing to invest in the product. We already support Java 8 in beta on Managed VMs (https://cloud.google.com/appengine/docs/managed-vms/), and the same is true for Python 3. Once Managed VMs goes GA, we expect that most of our customers will find that it provides all the benefits of App Engine with increased flexibility around the programming language, native code, etc.
After more than 8 years of coding in Java, I had to pick up Python (and Django) so as to start using GAE for my startup.
Now, looking at those sample code in Java (and JSP) and the related XML configurations for GAE, I don't think I want to go back to Java - unless I am paid to do so, say for services.
This project has been underway for a long time, so it's cool to see that they have support for the "Python, Java, PHP, and Go Google App Engine platforms."
We've used almost all libraries with no issues. The only problematic ones are those that try to implement networking code on their own. Appengine has some limitations on the type of networking calls you can do but most libraries support delegating that work. The new Java 8 runtime has A LOT of these restrictions removed.
There is very little appengine specific code in our app with the exception of our data layer. Because we use AppEngine datastore (the only option at the time), we are pretty tied to it. I feel like migrating cloud platforms is always a large undertaking and appengine would be no different. If we were starting today, we'd probably consider using Cloud SQL or Spanner, but the good thing now is that you have a choice.
Aside from the autoscaling, the idea of never thinking about machines is really nice. We never think about OS's, patches, networking, etc.
The other nice benefit is the deployment story. You can organize your application into services, deploy them individually, traffic split between version, rollback quickly, setup staging, etc. Its very well implemented and the fact that we never think about it is really nice.
Wow, I thought that GAE was basically dead and now I find out that, besides the latest addition of Node.js, it supports Python 3, Java 8 and even Docker-based custom runtimes...
Google does/did (AppEngine Java8 can't do that because they do not have any strictness) that in AppEngine, but it is hard and challenging to get right. Especially the security bits.
reply