I'll whine a lot, but there's a concentrated and crisp TL;DR in the end
I've been using App Engine I guess for 10 years now? It's hard for me too, but also, I'm preparing to open source my current project, at each step I question everything, I was going to open source my game so young developers/kids/gamers could dive into networked game development easier (It's an MMORPG on Google Cloud, my dream was that open sourcing it could enable fast experimentation with the genre), but as it is, at the current state of App Engine, the bottleneck is definitely all the diversified and separated products, separate emulators (missing ones), separate environment variables for everything etc. - I can't imagine a happy scenario where one could just develop an App Engine app locally without spending weeks trying to understand what's what first - Back in the day, I think the Launcher GUI and the simplicity of it all, got us all hooked (This is coming from a CLI user)
Things used to be as simple as "python2.7 /sdk/dev_appserver.py --storage_path=/storage/ --blobstore_path=/blobstore/ --datastore_path=/storage/db.rdbms --host=0.0.0.0 --port=8080 /path --require_indexes" - We could test EVERYTHING locally, now we can almost test nothing locally
It seems that the python2.7 that's currently in the process of being deprecated was the last of it's kind
Instead of refactoring everything for Python 3, I decided to move onto NodeJS instead, the work done, the documentation, the depth of it all, on the surface, is very exciting, until you dive in
First of all, at each step, you're faced with initially arbitrary decisions that's going to eliminate you, flexible or standard? - does it really matter, I don't think so, firestore in datastore mode or firestore? oh my god, it's like each option is designed to torture and drive away a potential user
As a long time App Engine / Datastore user, I've simplified my data design to a singular dimension and simple get/set by key operations wherever possible, so for me the limitations of the new datastore really doesn't matter much, I just wanted to use the new Firestore and all the new exciting stuff that came with it, experiment with it, see how it can improve my approach, I've always designed products that regularly pinged the server for new data, so the realtime features etc. appealed to me a lot - so I'd choose the unlocked Firestore, instead of the irreversibly locked one, at least that decision was easy, but the not so easy part was to find out how I'm going to emulate it locally, authenticate it locally, use it locally
Honestly, it's been months since I've been entertaining idea, whenever I can find some free time, I re-dive back into it, but still, I achieved nothing, yesterday I finally discovered "gcloud beta emulators firestore start" - but the new "environment variable" based approach etc. is making me want to cry, so I gave up again (the examples/docs are from "firebase", the authentication/flow is from "firebase", there are no simple examples to just use and authenticate "firestore" locally) - When I'm configuring a product, I either want to configure it in-code, or configure it in .yaml files, with the new approach, even app id's are set through environment variable's ...
Just before writing this, I wondered if I'm being unjust, and wondered whether I should just pick an arbitrary service, experiment with it using NodeJS, so I picked Taskqueues, or "Cloud Tasks" as they are now called, once again, it's a seemingly well documented and seemingly a well designed product, but no matter what I did, I just couldn't find how I'm going to test it locally, as it turns out, it can't be tested/emulated locally? bummer. (Related: https://stackoverflow.com/questions/53826183/local-development-with-cloud-tasks-cloud-datastore-with-gae-with-python3)
TL;DR/Conclusion:
I believe we need a practical, all in one and turnkey local emulation solution again - There's a vast/overflowing/overwhelming amount of new options and no easy way to test them - I think the best way to learn about something is to use it
Suggestion/Takeaway:
I think local development is no longer feasible or possible, so it seems like a better idea to just deploy and test live, I don't know whether it's the intended way now, but it's seemingly the only way. In the past we assumingly all had a local development version of our products, I assume we now should start with live development versions of our products. So when I'm ready to try again, I'll experiment with it all live. (It's sad that likely this option is only possible for paying customers, I don't know whether the products have safe free tiers now, I assume not)
I also wonder whether I'm the only one who feels this way, are there any success stories out there, happy new App Engine users?
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/9b64def7-8ce2-4cf3-a6c7-84aba79e7aea%40googlegroups.com.
--
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/CAOj3zuA6P676X8EKyt22MB5G01Nv8uLOqfGm14A%2BRbNmgCMUmQ%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to google-a...@googlegroups.com.
Giuliano Ribeiro Cloud and Software |
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/bb621c1e-5fa5-4dfa-8c7e-8911701666b8%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/6edf3459-a4d0-4ea4-9282-86cdb6a2672f%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/5644BD34-868F-48F8-8FD7-87B8C0FA6AD6%40gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/CAPgu2uKUr7mY89NYrOWG0kJa9a1V%2Bc0395-5csqq7JycE7u4nQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/CA%2BS7ijaK%3DutqkAT%2BPHYRg4sf6CteT6a4uT6wqUfNR3a40oPVqw%40mail.gmail.com.
As another longtime user, I have mixed feelings. Some things are better, some things are worse. I certainly wouldn't give up the current GAE to go back to the old one, but mostly because I still have enough of the old one available.I straddle the old world and the new world, using the "old" memcache and task queue APIs. I guess if I ever want to upgrade from Java8 I'll be forced into Cloud Memorystore and Cloud Tasks. The biggest problem would be converting my test harness. I could use a live Redis that I flush between tests, but lack of an emulator for Cloud Tasks is a pretty serious problem. I'm very dependent on the LocalTaskQueueTestConfig.Actually this is maybe a symptom of a bigger problem. In the old "integrated whole" GAE, the task queue is a way of deferring execution. The fact that there were URLs and http requests underneath was plumbing that could be ignored. 100% of my task queue usage is "execute this bit of code later", so it's really easy to write tests with an awaitTasks() method that chews through the list of deferred operations. The only level of abstraction provided by Cloud Tasks is "http request" so all the deferring and test harness logic would be up to me to implement. Ugh.Honestly though, the old memcache and task queue APIs are so rock solid reliable, upgrading seems like a terrible idea. And there's nothing particularly compelling in Java11 (except the 10m deadlines).On the plus side, Cloud Postgres is pretty fantastic, although balancing the number of database connections with the number of instances is really tricky with autoscaling on GAE. Under load, you either run out of JDBC connections or you run out of instances to serve user requests... if you're used to the datastore, tuning your scaling settings is now hard. PG connections are an expensive resource.I like the new console quite a lot more than the old one, and it's getting better. The error notifications are great - nicely integrated with logging, unlike rollbar (which I no longer need to pay for).GCS is vastly superior to the old blobstore.I agree it's harder to get started with the current GAE offering, but I still recommend it to folks.Jeff
-Joshua
To unsubscribe from this group and stop receiving emails from it, send an email to google-a...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/6edf3459-a4d0-4ea4-9282-86cdb6a2672f%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-a...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/5644BD34-868F-48F8-8FD7-87B8C0FA6AD6%40gmail.com.
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-a...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/CAPgu2uKUr7mY89NYrOWG0kJa9a1V%2Bc0395-5csqq7JycE7u4nQ%40mail.gmail.com.
----Rajesh
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-a...@googlegroups.com.
On Apr 19, 2020, at 1:01 AM, MdeA <micde...@gmail.com> wrote:Now I'm just wondering what will happen to all my web apps running on GAE after July, 2020.