2

This question may sound weird to some of you but I have never really used cloud and above all I'm still beginner in the web development and would be really thankful if someone could answer few of my question though they may sound weird

So I would like to deploy simple website to Amazon, however, I'm concerned about bandwidth as they charge 0.12GB and I'm not able to set budget limit.

My problem is that I wouldn't like to pay for 1000GB of bandwidth if someone for some reason decides to download one file constantly

So could some of you, who have experience with amazon, tell what happens if my app is able to handle (say 50 req/sec 30kb/page) does that mean that in the worst case I would have to pay

req * sec * min * hours * days * page size 50 * 60 * 60 * 24 * 30 * 30kb = 3888GB

EEAA
  • 109,363
  • 18
  • 175
  • 245
Dave
  • 31
  • 3
  • I removed the impossible-to-answer section of the question to salvage the rest of it, which is indeed answerable. – EEAA Apr 08 '12 at 22:19
  • Please don't confuse bandwidth and traffic allowance. Bandwidth is the maximum rate, not the volume. – John Gardeniers Apr 09 '12 at 05:21
  • 1
    Just so you know, you can set up billing alerts. At the very least, they'd allow you to shut things down once you hit a threshold amount. – ceejayoz Sep 24 '12 at 19:04

4 Answers4

3

You pay for the (outbound) bandwidth you use, period. Inbound bandwith has no charge, but in your case, very little of your bandwidth used will be inbound.

If you're just getting into this (which is sounds like you are), I'd recommend starting out with a provider that gives you some amount of bandwidth included with the server rental costs. Linode, for instance, gives you 200GB transfer with their smallest plan. Unless you have an incredibly successful launch (or are serving some very large files), this should suit you just fine.

Once you have an idea of how much bandwidth your site and its users are going to consume, you can make a better plan (and budget) to migrate over to AWS if you feel the need.

EEAA
  • 109,363
  • 18
  • 175
  • 245
3

So could some of you, who have experience with amazon, tell what happens if my app is able to handle (say 50 req/sec 30kb/page) does that mean that in the worst case I would have to pay

req * sec * min * hours * days * page size 50 * 60 * 60 * 24 * 30 * 30kb = 3888GB

Yes, that math is correct - however you'd have to have one heckuva well trafficked website to even come close to that amount of bandwidth. If someone decides to download one file constantly, just restrict bandwidth to and from one ip. There are a host of ways that you can prevent bandwidth abuse.

Of course, you could always get slammed with botnet traffic, but you're not doing anything to annoy a bot-herder, right? =) There's not much that can be done in those cases except if you already have a CDN or DDoS mitigation network in place. Which brings me to my next suggestion:

Use a CDN, particularly a free one, like, perhaps CloudFlare. They can help deliver your content and use less outbound Amazon bandwidth.

P.S. If you're sending out T-bits of traffic each month and not monetizing it in some way, you might want to consider taking some business classes at a local college. =)

Wesley
  • 32,690
  • 9
  • 82
  • 117
2

In May 2012 Amazon added the ability to receive alerts (via email/sms) when it estimates that your monthly bill will be over a certain price http://aws.typepad.com/aws/2012/05/monitor-estimated-costs-using-amazon-cloudwatch-billing-metrics-and-alarms.html

Sean Bannister
  • 751
  • 8
  • 19
0

Keep in mind a few optimizations you can make to make your site cost beneficial.

  1. Cache css, javascript and images on the client machine
  2. Enable gzip compression which should take your 30kb to around 7kb

Some more ideas on what you can do can be found here http://www.instantshift.com/2009/03/10/11-tips-to-reduce-server-load-and-save-bandwidth/

The best thing you can do to reduce the bandwidth costs is to reduce the bandwidth you use. EC2 is actually not that expensive. I have a feeling that you'll spend much more money in servers than you will bandwidth. Also keep in mind that the 50 req/sec is your peak time, most likely you wont have 50 req/sec for the entire day. Calculating the bandwidth is a lot more complicated than just saying your page is 30kb and you want to support 50 req/sec.

bwight
  • 791
  • 1
  • 6
  • 14