Open Sourcing the App Engine Standard Java Runtime
cloud.google.com
cloud.google.com
Although I do like Cloud Run (and Functions, to a lesser extent), App Engine has (had?) some useful features that are not present on those offerings. What I miss the most is the async worker/background jobs feature. Cloud Run/Functions forces you to use HTTP requests for everything (Functions has some exemptions for a handful of triggers), leaving some use cases unattended. If you have some long-runnning job, you are stuck with HTTP requests with long timeouts and that's it.
I really hope this gets addressed in the future, will simplify things a lot for smaller businesses/solo projects. For example, at my company, we decided to move large parts of our infrastructure to Kubernetes (hosted at GCP). The lack of an elegant solution for background jobs in Cloud Run was the major reason for this decision, otherwise we would have just continued using it for the time to come.
Although it seems it won't scale automatically for background processing, a clever setup with some alarms may have a decent mileage. Nice to know.
There are some parts of the old monolithic GAE that have doubtful futures (full text search, image processing) and one part that we can't tell from the outside (memcache, which is slightly different from Cloud Memorystore). But overall it doesn't feel like GAE is being discontinued, just changed.
I've been on GAE since the earliest days and while there have definitely been some ups and some downs, the overall offering is vastly better now.
It might've been the suggested database, but that's as far as their relationship went
True.
> and was in no way part of appengine.
False.
Google replaced the datastore with Firebase. If you use the GAE datastore API, you are now using "Firebase in Cloud Datastore Mode".
Similarly, the GAE logging system was replaced with Stackdriver, also an acquisition. It doesn't matter where it came from.
False.
They replaced the Datastore with Firestore. A new database system based on datastore but using parts of spanner so it is transactional und not eventually consistent anymore.
Firebase (Realtime Database) was a garbage single mysql instance marketed as "real time database" which Google indeed bought but it wasn't able to scale in any way so it was reinvented and resulted in Firestore. Firebase != Firestore
"This form is to request access to the private preview (alpha) for use of App Engine "bundled" services in Gen2 runtimes for PHP. Java, Go, and Python are all available in Public Preview."
I once chose CR over GAE for my containerized toy project, and I'm procrastinating on async tasks as I have to make another internal service that feeds from a queue. I hope GAE can make this easy. I also needed to install Ubuntu packages, so I hope containers (or apt-get) are a first class citizen.
Remember when I launched my first project on App Engine, it was noticed by a local radio station, and it just proved to me that the scaling technology just works. 100x traffic jump, easy handled like nothing happened.
I fully agree with you.
a) Want to force people to sign in to access your app? Slap a `login:required' in app.yaml or use the 'users Api'
b) Want to serve different image sizes? Use the 'Images' API to get a url and add a size as a parameter
c) Want to search your data (imagine you have a shopping site and you want folks to search your product)? Use the 'Search API'
I don't have to tinker with any server. Just write code and deploy it.
Another thing I loved about GAE GUI (which is part of the reason I built a replacement GUI when they deprecated theirs) is that it was easy to get 'new' or 'inexperienced' programmers up and running on the web. Click a button and your code gets transferred to Google. Click a button and your code runs locally
The maintainers of Java in google3 probably like this simplification a lot too.
https://github.com/GoogleCloudPlatform/appengine-python-stan...
I stopped using it ~2014, but at that point it felt like it was going to go anywhere at all. The AppEngine environment just needed ways to pre-warm/pre-JIT (or even a snapshot function) to make this feasible on the underpowered instances that used to run it.
I also used a ton of AppEngine/Python (and still do on some of my personal single-serve sites - ie progscrape.com) and that was just so much better overall. Given the heavy use of caching, none of my AppEngine/Python sites ever incur a bill of >$0.10 per month.