Since I have several widgets from different sites which have images served from different websites I was worried about the download time and decided to look for CDN (Content Delivery Network) service. The CDNs have distributed servers all over the world.
Amazon has this web service called S3 (Amazon Simple Storage Service) which is basically a paid CDN. But Its unbelievably cheap. The service supports REST and SOAP web services. Unlike other services there is no bulk purchase, you pay for what you use. If I wanted to host some files this service and had a big bandwidth connected to my home server, the electricity cost alone would be higher than this web service. If you store 20 Gigabytes of data and have a monthly traffic of 2GB then it will cost you 3.40U$. I have a few hundred megabytes of file to store and my traffic probably will be less than 10 cents a month. Pricing from Amazon is like this:
- $0.15 per GB-Month of storage used
- $0.18 per GB - first 10 TB / month data transfer out
- $0.01 per 1,000 PUT or LIST requests
- $0.01 per 10,000 GET and all other requests*
And the best thing is that, this is a fault tolerant, scaled, reliable, fast service at such a cheap price. I can host all my personal files here and still it would be better than hosting somewhere else. Amazon provides API with code samples for all major programming languages (C#, Java etc). Since these files are added, modified and fetched via API then how do I host my images, movies etc there without writing code? Well, the answer to that is pretty simple, create a bucket (like a folder) and put your files in there and make them public and then you can access them with http gets (read on for how to do that). The Amazon web services logo image used at this blog post is served from the Amazon S3 service.
Nice, but what else can I do with it?
You can even use the S3 service to as a web storage with JungleDisk (see the Amazon traffic rate at their site) and use it as a web hard drive, but the software costs 20 U$, so it is several times more expensive than my 1 years of traffic at Amazon S3. I am not going use it. Instead ...
What do I plan to do with this service
I am planning to write a free program for Amazon S3 service which probably will kick JungleDisk out of business and store my files there. Since I have started regular office hours in office recently and stopped bringing work home, I think can manage to write this at home after work. But as I have so many unfinished pet projects to finish ... lets see when I get time for this.