3 ms·
This is another sign that App Engine is slowly being discontinued. Google seems to be moving towards Cloud Run and Cloud Functions as the default solution for s
by leonidasv 5y ago
This is another sign that App Engine is slowly being discontinued. Google seems to be moving towards Cloud Run and Cloud Functions as the default solution for scaling apps without hassling with Kubernetes.
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.
- steren 5y agoCloud Run can be configured to have CPU always allocated, whcih allows for background processing. By combining this with a number of minimum instances, one can benefit from always on instances, not request driven, to execute background jobs
- leonidasv 5y agoWow, this is new. Last time I had checked this option wasn't available. Thanks for pointing this out. 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.
- riddleronroof 5y agoYeah. It’s new. They added it to allow web sockets, amongst other things.
- aitchnyu 5y agoCan a single CR service execute requests as well as background tasks? And can requests and tasks have separate timeouts?
- stickfigure 5y agoApp Engine as a single monolithic thing has been broken out into various parts - the datastore is now Firebase (aka Cloud Datastore), the tasks queues are now Cloud Tasks, the blobstore is now Google Cloud Storage, the logging system is now Stackdriver. The thing now called App Engine is the http-serving runtime, and it looks like that part is now being opensourced. 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.
- y4mi 5y agoFirebase was bought by Google and was in no way part of appengine. It might've been the suggested database, but that's as far as their relationship went
- stickfigure 5y ago> Firebase was bought by Google 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.
- bootloop 5y ago> Google replaced the Datastore with Firebase. 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
- aitchnyu 5y agoFrom webmaven's comment, I saw a form to request access to Gen2 alpha program, apprently a new lease of life. "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.