Anyone that’s worked with me in a development capacity knows that I’m a huge fan of SlideShowPro for beautiful image galleries and video/image slideshows. It’s cost effective too (about $30). Note that I’m not affiliated with them in any way, I’m just a fan of the component.
So I was recently presented with a planned, very large and very temporary increase in traffic to a website I maintain. On the homepage of this site is a high quality, professionally produced video and a handful of images displayed with SlideShowPro. The video is somewhere in the 8MB range, h.264 encoded with a high quality AAC audio track. This impressive but bandwidth intensive element posed a problem if hit by a large number of users. Fortunately I had the benefit of advance warning and I know when it’s time to look beyond my own resources.
Quickly researching various options I settled on one provided by Rackspace (a company you’ve probably heard of) called Cloud Files. Their tacky penchant for prepending everything with “Cloud” not withstanding, the company and infrastructure behind this service inspires confidence, and the pricing is reasonable. At the time of this writing, it works as follows:
$0.15/mo Per GB Stored
$0.08/mo Per GB Uploaded
$0.22/mo Per GB Served
$0.01/mo Per 500 Transactions of small files
So to give you an idea, 1 GB of media uploaded and stored plus 100GB of media served costs less than $25 a month. Not bad, but here’s where it gets interesting. Any files hosted in Cloud Files can be served using Limelight Networks Content Delivery Network, optimising the location and speed at which files are served to your visitors. The first time a file is requested your file gets pushed to an edge server location closer to the visitor. After this initial priming of the edge server, subsequent requests in that region are handled by that server. All of this is done with one URL you use to reference your file. Pretty slick stuff for being the realm of affordability for small businesses.
Here’s a quick overview of how you put this service to work on your website with SlideShowPro:
Step 1) Create your account. This will involve a brief phone call from Rackspace to confirm your account. The whole process only takes about 30 minutes. If they don’t call you within 15 minutes of completing the form, call them first. After this you’ll want to log in to your management console and activate your Cloud Files space. While you’re there make a folder and check the box to CDN enable it.
Step 2) Upload your content. You can manage your files from your control panel directly if you prefer, but I found it best to download a Rackspace recommended Firefox add-on called FireUploader to upload content into your hosting space. The benefit here is that FireUploader will do a great job of determining and setting your files’ mime types, which can be important.
Step 3) Reference your CDN-enabled content. Using either the management console or FireUploader, copy the new CDN URL for the file you want to serve up. This works just like any other URL, except that it’s now utilising Limelight’s delivery network. If you’re using SSP, add the URL’s to your images.xml file. Be sure you don’t have album paths set, or your absolute URL will not work. You may also want to create a crossdomain.xml file, depending on the content you’re hosting. You can read more about crossdomain.xml generation and SlideShowPro here.
Et voila, you’ve implemented an almost infinitely scalable media hosting solution, and on the cheap. It’s worth noting that I have not seen any options for limiting your spending with Cloud Files, so keep a close eye on your control panel where you’ll find your bandwidth usage meters.
If you have any experience with other services like Rackspace Cloud Files (Amazon, etc.), I’d like to hear what you’ve learned!