Sunday, January 16, 2011

Processing-time billing in Amazon EC2

Hi all! I think my question is fairly basic, but I would like a clarification: in the Pricing part of AWS we can see that Amazon charges people around .10 by the 'instance computing hour'.

I've seen in a blog post somewhere (can't remember where exactly, and even if I did I think it was in Portuguese anyway) that this way your minimum monthly payment would be $72 (= .10 $s/hour x 24 hours x 30 days). Is this correct? (I don't think it is!)

In my understanding is that this 'virtual computing time' is only used when your machine is actually doing something (serving pages, serving the admin via ssh, whatever), so real billable usage would be less than 720 hours/month in most webserver scenarios. Is my view correct?

If it is, then it leads me to another question: is it economically interesting to buy access to one of these instances for testing? I mean, would I have the 'freedom' to 'forget' about it for a month and receive a very-close-to-zero (as in, a few cents) bill? Do you do it/know of anybody who does? Any thoughts on the matter (as in, "yes, it's a good idea", or "yes, but there's this 'gotcha': ...", or "no, nobody does it because of...")?

PS: sorry for the loong question text. I highlighted the main questions for easy view. Also, I'm not sure if this question is actually more than one and if it's desirable for the community, so, sorry if it is too!

Thanks in advance!

  • Amazon charges you by the time you keep your server 'on' not by the time you actually do something. so $72/month is correct + tax.

    Point of Amazon is this: you have 5 servers that you keep on all the time, then your web load increases in between 12pm - 1pm then you write a code that your servers initiate 50 more servers to balance the load, and you turn them off.

    so for this operation, your monthly cost is:

    $72*5 = $360 for the first 5 servers

    daily cost is $0.10*50 = $5

    if you did this every day then you would pay $5*30 = $150 extra.

    Without Amazon, you'd require 55 dedicated servers which would cost you ~55*$50 = $2750, so you save ~$2250 on server costs.

    But if you don't need to fire up 50 servers and turn them off, amazon wont save you a lot, in fact it can be more expensive compared to: bit.ly/PK60k

    There you can get $20/month servers with full cloud computing abilities (e.g. increasing server resources without migrating to a new server unlike amazon). They give 4500 GB traffic for free which would also cost you $450/month on Amazon.

    We have recently have left Amazon it becomes really expensive once your site is up and running being still less expensive than dedicated setups.

    Most irritating thing about Amazon is we paid a certain amount every month for ten months, one day I woke up and saw that our bill is 100 times more than usual, they didn't bother to warn us. So you can basically wake up to a million dollar bill, there is no protection or warning against that. They said we agreed to that on the agreement, it was our responsibility to check by logging in to amazon account everyday.

    I hope this explains. Cheers, D

    From Devrim
  • Regarding the total monthly bill, the short answer is yes - an instance at $0.10/hour will be about $72 for a month. However, you can purchase reserved instances which can work out up to about 50% of the price if the server is being run continually. In the example of the m1.small type of server ($0.10/hour normally), the yearly cost would be $490 with a reserved instance (one year reservation) or $876 on "pay as you go".

    The answer to your second question is no. You are billed for an instance hour, the whole time that the instance is up, running and able to take requests, rather than say, a CPU-hour which might be just the "work" done on the instance. You will be billed the price for the rounded up number of hours that the instance has been on for. If you turn it on for 5 minutes and shut it down, you will be charged $0.10.

    However, I'd argue that it could be very economical for software testing if it's shut down while you're not using it. Testing is one of the most common use cases for EC2, where you're able to start up an instance, test software for a few hours and then shut it down, working out much cheaper than leaving it running while you're doing other things/sleeping.

    From m0dlx

0 comments:

Post a Comment