views:

95

answers:

3

If you were a one developer startup, which service would you pick and why? If the goal is to get to market really fast.

Would you go with GAE and build everything from scratch on Python, and one click deploy? or pick AWS, setup the server and db, use Rails, and do some admin work?

+1  A: 

AWS - It has a larger user base, simple one-click server launch configurations and starting November 1st, 2010 any user who signs up is eligible for free service.

In addition, more business are drawn to AWS than GAE so with AWS knowledge you'd be more likely to get a job/work in business if they decide to take the leap to the cloud.

Julian
+4  A: 

The lack of administration and the pay-as-you-go cost structure makes GAE ideal for starting out. You will probably be able to service a reasonable number of users before you even run out of free quota.

There are two main issues though:

  • Migrating off GAE will be painful
  • At the moment I'm experiencing datastore failures in about 0.3% of all datastore reads. If this is a problem you need to armor against it.
Ranieri
Do you know the cause of the datastore failure? 0.3% seems pretty high
Johnny
From the API docs: "There is an expected failure rate as Bigtable tablets are sometimes unavailable, for example, when they are being moved or split." This is especially important for writes because unless properly handled (usually written back using a task queue) you can lose data.
Ranieri
BTW, these errors seem to crop up mainly when GAE starts a new instance of the application, for example after a period of inactivity. Since my app is low traffic, this happens a lot. The 0.3% number could very well be inflated because of this effect. Any "heavy users" care to comment?
Ranieri
Write using Task Queue will ensure it gets done, that's a very good point. But you do lose the sync (in some cases, it's okay), ie, if i write a comment, i would expect it to show up after i submit, how do you overcome that issue?
Johnny
Right now, I don't. The logical place to store that information would be in memcache, as it's pretty much the only other place you can write to. How exactly you want to manage that information, ie. as part of the data model or the view cache or whatnot, is up to the details of the application.
Ranieri
+2  A: 

I have apps on GAE and have decided to try my next project on AWS. I really like the GAE way and am designing my app in a similar fashion. I am using node.js instead of python and couchdb instead of the datastore. If I wasn't trying out this combination I wouldn't switch. The sys admin stuff is a pain, too many options for me to screw up.

mcotton