views:

220

answers:

5

Basically what I want to do is this:

  • get a cheap linux server
  • make a little Ruby on Rails project, I plan to toy a bit with Sinatra as well
  • store my AMI on S3

So I input the following data into the calculator:

S3:

  • Storage: 5 GB
  • Data transfer in: 1 GB
  • Data transfer out: 1 GB
  • PUT/LIST Requests: 10000
  • Other Requests: 10000

EC2:

  • Small Linux/UNIX On-Demand Instance Compute Usage: 168 hours

Total: $17.930

Do you think the above estimation is realistic? Are there any other costs that I am overlooking?

Please resist the temptation to respond with "it depends" :)

A: 

Well - I'm not aware of any hidden costs for this program. If your usage doesn't go above numbers you put in the calc that's what it will be

DroidIn.net
Have you used it yourself?
StackedCrooked
Yes, I have an account and use it for mostly small development and filesharing
DroidIn.net
+1  A: 

You've got to pay for data transfer in and out of your EC2 instance. For a small personal website, it's negligible compared to the compute time.

You don't have to pay for data transfer between your EC2 instance and your S3 bucket if they're in the same region (you get control over this). You do have to pay for data transfer between S3 and your local machine though.

You can reserve an instance. $227.50 upfront + $0.03/hour for 1 year or $350 upfront + $0.03/hour for three years. That works out a lot cheaper.

The good thing about EC2 is that you get very clear very up-to-date reports. If it looks like it might get too expensive, you can shut it down.

That said, I'd be stunned if you couldn't find shared virtual rails hosting that met your needs, and that would be an order of magnitude cheaper.

How long do you need it for?

Iain Galloway
I don't really *need*, it's just something that I'd like to try out for a while. I like AWS because you get a machine that you can do anything with that you want. But you're probably right that it's really overkill for my usage.
StackedCrooked
*nods* Overkill is fun though, right? And as others have said, you can spin it up, play for a couple of hours, shelve your AMI, and that costs basically nothing.
Iain Galloway
+1  A: 

I think you're missing how the CPU usage is calculated. $0.085 per hour the instance is running, whether it is doing anything or not!

24 hours * 30.5 days * $0.085 = $62.22 per month.

If you go for the reserved instance ($350 upfront), you get $0.03 per hour (for 3 years)

That works out to an amortized $31.68 per month (24 * 30.5 * 0.03 + (350/36)). For a private server with 1.7GB of RAM, that is very competitive. Generally cloud companies charge about $20 per month for 256 MB of RAM.

Bottom line, if you need the capacity, it's a cost effective way to go, and you get all the future scaling promised by the cloud. If it could be a long time before you need that capacity, then you are over paying.

Eloff
But can't I shutdown the servers when I am not using them?
StackedCrooked
Yes, of course, but that means your website also goes down, which is usually not acceptable unless you're the only one using it. Keep in mind you pay for partial hours as a full hour. But if you only use the resources you specified in your post, that's what you'll pay, which is quite affordable.
Eloff
+1  A: 

You'll probably want to use EBS to store persistent data (mysql datafiles for instance). But it's cheap.

In any case, Iain Galloway is right, you most probably can find cheaper options if you don't need enterprise-class features.

stask
+1  A: 

The way I see it, EC2 is ideally suited for scaling up your app. You can easily bring up or shut down instances, increase your EBS storage as your data grows, etc. But setting up a stable hosting environment on EC2 tends to be both more involved as well as more expensive than a VPS, for example.

Another good use case for EC2 is when you just want to play with something for a couple days (or even hours), without committing to a whole month. But again, if it's something more complex, you end up spending a fair amount of time setting things up.

If your Rails or Sinatra app is fairly straightforward (i.e. doesn't require any custom daemon apps or anything like that), I would actually suggest looking at Heroku. You can get started for free, so it's a great platform for experimenting with new ideas. Once you need more resources, you have the option of sticking with Heroku (at a slight premium, but then again you don't have to worry about any system administration), or moving to a VPS or EC2 setup.

Otherwise, I've had great success with VPS based environments like Slicehost and Webbynode (heard good things about Linode as well). These typically start at $15-$20/month and generally have a way for you to scale up by moving to larger slices or adding new slices (which you can generally clone from your existing ones). Not as powerful as Amazon's AMIs, but convenient enough for smaller setups (I'd say 1-10 slices).

Of course the story is different if you also want to take advantage of other AWS services, such as SQS or even SimpleDB.

Mirko Froehlich