I’m writing this article as a followup to some of my other AWS stuff, particularly my Installing WordPress on EC2, Amazon EC2 Tutorial and Hosting Websites in the Amazon Cloud articles.
Like many others, I was a little apprehensive about actually using Amazon Web Services in fear of a bill full of charges I just don’t understand. Amazon offers a wildly confusing AWS calculator that seems to require a degree in engineering to understand. Its full of terms that you won’t fully understand until you actually use AWS and see what it is you really need.
I’ll start by saying that AWS pricing is based only on what you actually use. Its prorated monthly as to what you’re actually using and this keeps things very cheap when you’re just experimenting. Services like EC2 are billed by the hours they are used – storage (S3 and Glacier) are charged for storage and bandwidth.
I’ll show you what I’m actually doing with AWS and share a recent bill so you can see what’s going on with the charges. Its very affordable, but this depends really on what it is you are doing.
I’m running one EC2 instance on my main website of photography tutorials that gets a decent amount of traffic. I’m very happy with it – I’m running a WordPress instance on Nginx exactly like I show in the AWS WordPress Tutorial. I’ll break down all the charges below, but I’m currently averaging about 20,000 visits a month on this site.
S3 and Glacier
I’m also using Amazon S3 and Glacier for various storage needs. I tried using S3 to serve files and it got out of hand – the transfer bandwidth is expensive so be careful. I have a very popular podcast on iTunes and move between 12-15 terabytes of data a month. S3 is in the thousands if you’re moving that much data. If you’re making money on the downloads you’re fine, but this is a free podcast so I had to explore better options. I still use S3 and Glacier in tandem for file storage on personal items and I’m EXTREMELY satisfied.
So what’s my latest bill and how does it break down? Lets have a look:
As I said, I’m running 1 EC2 instance that’s a full time web server. It was on all month which came out to 744 hours at 2 cents an hour. You can see that the other charges were for provisioned server storage and the requests – these are all the files triggered when people visit the website – images, php, css etc.
You can see that the pricing is reasonable. Yes its cheaper to get a shared hosting plan from some cheap host, but the performance on EC2 is WAY better. My personal feeling is use the cheap hosting, but as soon as you start getting traffic – get the virtual EC2 server for $15 a month – you won’t regret it and I’ve got this micro instance streamlined to handle a million views a day in theory.
If you’re developing a site you can turn the server on and off when you’re not working on it. 2 cents an hour and 8 cents for the storage is all you’ll pay.
My S3 breakdown was for 14.399 GB of files. I backup podcast video, photos and audio here. Its rated at 9 cents per gig for a total of $1.37. I’ve taken this a step further this month by changing the storage class to Glacier storage for files I’m not going to be using at all, but want to keep. This will get the price down to 1 cent per gig for those files. The reason my GET requests are so high is my podcast. I serve the XML file through here and as you can see I’ve got a ton of viewers. The XML file is tiny, so I’m not worried about the bandwidth there – I can afford that and I need complete control over that XML file. I learned the hard way last year, but that’s another story for another blog post ;-)
Next up is data transfer. This is the price you have to watch if you’re hosting really big files like audio and video. If you’re just storing them its pretty cheap. If people are downloading them like my podcast – this can get out of hand. Transfer in to the cloud is free. Downloading is 12 cents a gigabyte. Sounds cheap until you’re moving terabytes of data and then its REALLY expensive. I moved 38.445 GB of data – this was files from the website, a few images from S3 and that XML file. Cost me $4.61.
The last fee was Tax which I’m charged now in the State of Texas.
Final word? I love AWS. Its leased infrastructure and you can play and learn with it too. The EC2 performance is excellent and the S3 for storage is great. If you’re doing real work on it though you’ll need to balance what you’re making vs what you’re using. A simple website is fine, but don’t go host a podcast or video service here unless you’re making money on it. The only problem I had all month was the outage that hit the entire North East AWS data center and took down everything on it for half a day or so. Wasn’t the end of the world and Amazon seem to be getting better and learning from problems like this. My stuff isn’t mission critical, but if you are running hospital services you might need to think back up through more. It can be done.
See you in the cloud!
phillwiltJanuary 14, 2013
Out of curiousity, where did you decide to host the podcast in order to cut costs?
Ted ForbesJanuary 14, 2013
I’m hosting on Cachefly. They have a CDN and I’ve been very happy with the download speeds. They’re optimized for large files so they’ve been wonderful.
Raindog308February 12, 2014
Lots of simple shared hosting providers (or VPS providers) would be an order of magnitude cheaper than either cachefly or AWS.
Ted ForbesSeptember 6, 2014
Depends on how much data you’re moving. I get 12 TB of downloads from my video podcast every month. Cachefly is designed for this. You’re shared hosting provider that sells you on “unlimited” – I guarantee will cut you off.
HidefguyJuly 7, 2015
Thanks very much for this info, very helpful. I agree the AWS calculator is close to incomprehensible. My concern about using AWS is Amazon’s insistence on not providing a throttling mechanism to prevent over-use. E.g. What happens when you get a DOS attack that constantly dowoads your podcasts? Amazon is on record as saying the cost of DOS attacks will normally be passed onto the customer.