I think it was a mistake for the GAE team to port Django to App Engine. Django is designed for a SQL based worldview and even the crippled version included with the SDK is non-optimal for App Engine deployment. Since the included version is so bad, people try to get django-app-engine-patch or django-norel working. Those also suck. There's a mindset that if Django runs, I can keep doing things the Django way. Nope. Ab…
Why we switched from Google App Engine to EC2
41–48 of 48 posts
Re: Why we switched from Google App Engine to EC2
#42It's been a good experience overall, but this last month I have spent weeks pulling my hair out trying to do a join. I have a work-a-round in place now, so hopefully it will be smooth sailing from here on.
If I do run into performance issues I may have to switch, but then it won't be to hard to migrate and I've still had a free development environment which has pushed me to learn and cost me nothing.
Re: Why we switched from Google App Engine to EC2
#43Earlier quoted context omitted.
I'm curious how this works out? When I look at the App Engine pricing it doesn't look cheap - see: http://code.google.com/appengine/docs/billing.html What I see is Storage 0.15/GB/Month, CPU 0.10 / hr, Transfer 0.10/0.12 / GB. This seems basically on a par with EC2 except with EC2 you can get steep discounts for reserved instances or even use micro instances for some things. So how is it that App Engine comes out so…
You only pay for CPU if you really use it and not for "standby". So if you have 100k requests in one month and each request takes 0.1 seconds you only have 10.000 seconds(or 166.66 hours or 2.7 hours) so you only pay $0.27 for that month. EC2 would bill you for 720 hours(30 days *24 hours). At a rate of $0.10 you would pay $72 instead of the $0.27. (For this example I'm not taking the free quota into account)
Re: Why we switched from Google App Engine to EC2
#44Earlier quoted context omitted.
You only pay for CPU if you really use it and not for "standby". So if you have 100k requests in one month and each request takes 0.1 seconds you only have 10.000 seconds(or 166.66 hours or 2.7 hours) so you only pay $0.27 for that month. EC2 would bill you for 720 hours(30 days *24 hours). At a rate of $0.10 you would pay $72 instead of the $0.27. (For this example I'm not taking the free quota into account)
Thanks. If I understand you right, it comes down to that GAE is counting the CPU on a per-request basis while EC2 is charging you per-hour - so if you load is highly variable (as many web startups would be) you get a big bonus because you're not billed for all the time between requests. If your load was heavy and consistent then it would be much more even.
If you max out one instance, you would need to add another instance and as a result of that you would need a third instance as a load balancer. So if we take the numbers from the example I gave above and assume your instance maxes out add 100k requests and you get 110k request your cost would go from $72 to $216 ($72 for the load balancer and 2* $72 for the web/application server). That is 3x more but only an increase in traffic by 10% Of course the same math applies to your database server.
GAE pricing scales linear no matter how big you are and you never have to worry about maxing it out. Of course you have some trade off's because of that, but that is what the article was about.
I guess it's a question how you define heavy traffic. I've read somewhere that Zynga runs 10,000 EC2, at that scale adding another instance wouldn't have a huge impact, but I think if you have less than 15-20 instances (which is still huge) you're cheaper off with GAE.
(Even though it sounds like I'm affiliated to GAE I'm not, I'm going to use EC2 because of the trade off's mention in the original article)
Re: Why we switched from Google App Engine to EC2
#45I think it was a mistake for the GAE team to port Django to App Engine. Django is designed for a SQL based worldview and even the crippled version included with the SDK is non-optimal for App Engine deployment. Since the included version is so bad, people try to get django-app-engine-patch or django-norel working. Those also suck. There's a mindset that if Django runs, I can keep doing things the Django way. Nope. Ab…
Re: Why we switched from Google App Engine to EC2
#46I think it was a mistake for the GAE team to port Django to App Engine. Django is designed for a SQL based worldview and even the crippled version included with the SDK is non-optimal for App Engine deployment. Since the included version is so bad, people try to get django-app-engine-patch or django-norel working. Those also suck. There's a mindset that if Django runs, I can keep doing things the Django way. Nope. Ab…
Could you please explain what you don't like about Django-nonrel? Why do you believe that webapp or tipfy are better?
Re: Why we switched from Google App Engine to EC2
#47Earlier quoted context omitted.
Could you please explain what you don't like about Django-nonrel? Why do you believe that webapp or tipfy are better?
IMHO, Django is too slow and bloated. I'm more interested in the frameworks which have a good cold start time.
Re: Why we switched from Google App Engine to EC2
#48Wow, these stories about the horrors of GAE are a little bit scary for me. I was starting to develop a project with a friend in our spare time, and we decided to go with GAE. We've only gotten as far as the end of the tutorial and are reading the documentation for GAE, but I have a question: As a college student who is looking to build a project on the side as a means for experience and a way to handle an issue we ha…
Go with GAE. There's a lot less overhead with things you really don't want to be dealing with.