Hacker News new | comments | show | ask | jobs | submit login

I think a fair comparison is very complicated and depends a lot on: do you need to occasionally ramp up the number of servers, do services like Elastic Map Reduce work well in your system for occasional data crunching, do SimpleDB and DynamoDB fit in your architecture, does EBS with high durabilty but slower IO performance meet your needs, does having lots of cheap S3 storage with free inner-data region bandwidth save you money?

If enough of these considerations match your needs, then AWS looks great, otherwise look to dedicated servers.

If those considerations matched my needs, AWS wouldn't look great because I don't want vendor lock in. That's why they're able to charge high prices-- once you build on their platform, you can't easily migrate elsewhere.

I want to save time by not having to learn Amazon specific APIs (which seem to be terribly engineered, cause every time I want to throw a small project that way I find myself in a morass of poor documentation and way too complificated configurations.)

So, I see that really as an added cost.

You are only locked in if you use SimpleDB, dynamo, SQS, etc.

Most of the standard infrastructure is quite replaceable. S3 can be easily replaced by more or less any file storage system (in Django it's 1 line of configuration), ELB can be replaced by any load balancer, ec2 by dedicated servers, etc.

Admittedly, some code changes are required, but nothing architectural (e.g., S3BotoStorage -> RackspaceStorage in django). For anything bigger than a hobby project, it shouldn't be a major barrier.

The situation is different for me: almost every customer I have had in the last 3 or 4 years has at least partially used AWS so I have already gone through the learning curve.

Your point on vendor lockin is certainly valid: if you really take advantage of AWS services, you are locked in without a porting effort (like AppEngine).

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact