We've been looking at solutions for hosting and serving large amounts of (small) static content to a global audience and are currently in the process of evaluating all of the CDNs out there.
One might think that Amazon S3 would be good for this purpose, but it's absolutely not. We tried it for a while, and it really only has two things going for it:
- It's very cheap
- Everything is automated and easy to set up
Aside from that, the performance is absolutely terrible outside of the US, which I really noticed since I've been in Taipei. In addition to that, it's simply not reliable. There are extended and unannounced periods of downtime, so you shouldn't be using it in production (except maybe for redundancy or backup purposes).
After we experienced some unacceptably long downtime I scoured the internet for a real CDN solution. There are a bunch out there, but only one of them is open enough to publish prices and allow you to sign up without doing a sales call: CacheFly. So far our experience with CacheFly has been pleasant. It's a little more expensive than Amazon S3, but you're paying for a far better service. Plus, there's a 30 day free trial. The trial appears to be "only available if you sign up before tomorrow", but it seems to be following the calendar.
There have been a few small snags with the CacheFly service so far:
- In order to use rsync/scp/sftp uploads you must file a support ticket; ftp is the only service enabled by default
- After that support ticket was resolved, scp was broken so I had to file another ticket (rsync and sftp worked)
- In order to use your own DNS you must file a support ticket, otherwise you're stuck with accountname.cachefly.net
- Their POP distribution technology seems suboptimal; they're serving the lion's share of our traffic from the US when most of it isn't coming from there (though still massively better than Amazon S3)
On the flip side, the experience has been good overall:
- Latency is MUCH better than Amazon S3 in our experience
- They give you pretty good reports about your traffic, without having to parse your own logs
- Responses to support tickets have been prompt
- It's the only real CDN with published prices that allows you to sign up without dealing with a sales department
All that said, CacheFly is the smallest fish in the CDN pond. It only has 5 POPs and we'll probably outgrow it within the next year and move over to one of the "Tier 1" providers such as Akamai or BitGravity . I still highly recommend CacheFly as a first step for anyone looking to improve their site's reliability and performance by using a CDN.