5 ms·
Also +1, App Engine is terrible. I worked for one of the largest App Engine deployments for startups. We were Python, Java, and Go and all were terrible. I've n
by optionalparens 11y ago
Also +1, App Engine is terrible. I worked for one of the largest App Engine deployments for startups. We were Python, Java, and Go and all were terrible. I've never felt like a company was giving me the middle finger as hard as App Engine. It's a terrible product and a shameful dev team.
There's a million things wrong with GAE besides performance, but if we just focus on that, where to even start? When I first took my last job using GAE, I was able to improve the performance of one of our apps in my 2nd week on the job from requests taking anywhere from 3-14 seconds to sub 1 second. That sounds good, but actually the original authors of the app didn't really do anything too bad, it was just they tried to write a standard web CRUD app in Django.
The answer to improving performance was mainly to never query their data store if you could help it. Solid advice for most apps, only the queries were completely unpredictable. Pretty much the standard Google answer for all App Engine is to do everything in memcached. OK, again, fine, but then memcached started being unpredictable. Google Answer - we'll develop private memcached to let you tweak it more. OK, fine, but it's still not as fast as when we run memcached on AWS.
Even when we ran our site with 99.9% cache hit ratio, we still had erratic performance. We next switched things to do more on the client and ran an Angular SPA app. Again we saw benefits of course, but still things sometimes were slower than we wanted. Simply Google's billing API requests and their slow servers serving requests tended to be the problem, which was often something we had no control over. And that was basically the theme of other problems we had. We figured out the requests problems at the beginning FYI and told Google, and they simply said they would work on it, but actually over time things often got slower.
App Engine is a terrible platform and most of the benefits can be replicated by various libraries out there for deployment, versioning, caching, etc. or through admin panels in other services like AWS. If you want to lock yourself into terrible APIs that do things like intercept your POST and re-issue it as a GET, go for it. If you want to start building your apps around billing patterns rather than proper architecture, go for it (how can I do y instead of x to avoid being billed?). I could go on, but yeah App Engine is pretty bad. It gets you going from dev to production somewhat quickly, but don't many frameworks + cloud providers do that now? The only real benefit I found which you could argue is that you alleviate some of the security challenges, but that's assuming you trust Google's environment and configuration (which you have essentially no control).
- m_fayer 11y agoI try to avoid commenting on App Engine related posts because I'm afraid that, despite myself, I will end up writing a long angry rant and come off hateful and bitter. When I have a bad experience with a given technology or providor, I can usually stay balanced, recognize the history and context, and show gratitude for hard work and good ideas, even those that didn't pan out. Not so with GAE, their demonstrated negligence and arrogance preclude that. See, there I go. Reading your rant (and the extended version below) definitely gave me a misery-loves-company sort of smile though, so thanks.