Someone pointed me toward Coral, an open and free CDN (content delivery network), which is at http://www.coralcdn.org/
A CDN is a network, like Akamai, where a web site such as Magnatune can offload high-bandwidth static files to another network, so that my web site doesn't need to have such huge bandwidth to run. Since bandwidth is a major expense for Magnatune, especially as we grow or when we get slashdotted (in which case we run out of bandwidth), a CDN has looked interesting. Unfortunately, Akamai and others are quite expensive, though several open CDNs are springing up to handle high load requests to non-commercial sites (the idea being that popularity shouldn't cause a web site to shut down).
Since I sold my company Lyris back in May, I can no longer mooch their unused bandwidth, so Magnatune is now running on its own 100mbit feed at Hurricane Electric. I've cut the shoutcast radio stations down to 500 listeners max, and that uses about 50mbits. The other 50mbits I leave for the .m3u playing from the magnatune web site, as well as purchaser's ZIP file downloads. So far, I've been ok, and am leaving about 20mbits of unused headroom to handle daily spikes. However, as Magnatune grows, I'll need to shell out more for bandwidth unless I can offload the .m3u playing to a CDN.
To change Magnatune's .m3u files to use Coral, I did a simple search and replace on one of my .m3u files (for Chris Juergensen) changing this:
http://he4.magnatune.com/all/01-Sweet%20Melissa-Chris%20Juergensen.mp3
http://he4.magnatune.com/all/02-Come%20Out%20Baby-Chris%20Juergensen.mp3
http://he4.magnatune.com/all/03-Big%20Bad%20Sun-Chris%20Juergensen.mp3
etc...
to this:
http://he4.magnatune.com.nyud.net:8090/all/01-Sweet%20Melissa-Chris%20Juergensen.mp3
http://he4.magnatune.com.nyud.net:8090/all/02-Come%20Out%20Baby-Chris%20Juergensen.mp3
http://he4.magnatune.com.nyud.net:8090/all/03-Big%20Bad%20Sun-Chris%20Juergensen.mp3
etc...
A typical delay in starting each mp3 file was 4 to 6 seconds, though this dropped to 1 to 2 seconds after several requests to the same file (probably, as it caches it locally rather than proxying it live). Twice, during my 30 or so attempts, the mp3 never came and I had to stop/start. I'm not sure if that was my player or the CDN -- more testing is needed on my part.
So Coral looks great, the only problem I have with it is that it's running on a high port, so that people behind proxy servers that don't automatically support http over anything bug port 80 will have problems.
They seem to know about this problem:
Why don't you use port 80?
The use of port 8090 is largely a relic of our beta deployment on PlanetLab, given that it is a shared test-bed. We hope to switch to using port 80 as soon as possible. Sorry for any inconvenience; in the short-term, if you can't access port 8090 due to a local firewall and still wish to use Coral, try finding an open web proxy running on port 80. For example, Google for the search term "cgiproxy start".
So, I think this would work well for my ZIP file downloads, but not so good for the m3u playlists today, at least until they move to port 80.
Please let me know if you learn know any other open CDNs!
http://www.cs.cornell.edu/People/egs/beehive/cobweb/
Posted by: Mike Linksvayer | November 02, 2005 at 11:39 AM
They use port 8080 now as well, less likely for firewalls to have it blocked.
Posted by: Nicolas | April 06, 2007 at 08:24 PM