Some e-commerce hosts offer very little bandwidth transfer per month for their customers. In the same way that wireless phone companies used to depend on overages for steady revenue (I would know, I because I worked in wireless back when no one had a phone), Volusion, for example, now depends on massive customer overages as a steady and reliable stream of revenue.
Now, I can’t disclose the monthly bill for my company’s site, but I can say that it’s well over five times the base price point and it’s all due to overage fees. Volusion’s published plans price overage at $7 to $5 per gigabyte, depending on your plan. Their unpublished enterprise-level plans, like the one Allparts is on, prices bandwidth overage at $4 per gigabyte. Not much of a price break is it?
To put that into perspective, that’s 1 gallon of gas vs. 1 gigabyte of data transfer. Get real!
Enough is enough. Check out the steps below and follow along as I migrate key content on Allparts.com to Amazon’s CloudFront CDN service.
NOTE: These links have changed because I have moved my company’s site.
Step 1: Identify High-Bandwidth Content
My number one drag on bandwidth turns out to be part of the image slider that I recently installed on the home page. In the small date range that I chose, “mootools.js” was involved in over 3 gigs of bandwidth usage. At $5 a gig, that’s $15 gone – poof – and it will turn into much more after traffic ramps up through the rest of the month. For comparison, consider serving that file through Amazon’s Cloudfront service at 12 cents per gig.
Those numbers are correct – $15 on Volusion vs 36 cents on Cloudfront.
Unfortunately, the remaining files in my top 5 list are either index files or files that are inaccessible and necessary. There are undoubtedly a large quantity of files that you can migrate to CloudFront to save bandwidth, but we’ll focus on this single file for now.
Step 2: Create an Amazon S3 Bucket (optional)
This is optional – if you skip directly to creating a CloudFront Distribution, you can start using that CloudFront URL immediately. But if you’re like me and already have data stored on S3, you’ll want to serve that data through your CloudFront distribution, like so…
Amazon’s S3 stands for Simple Storage Service. It is exactly that, a simple way to store your data online. After signing up for S3, you’ll want to create a bucket to store things in, and then create subfolders within that bucket to organize data. This bucket becomes part of your Amazon S3 URL. For this exercise, I’ll store data in Allparts Music Corporation’s APMC bucket, and then I’ll create subfolders within that bucket. Next, I upload my data.
I can now access my file through its S3 URL at https://s3.amazonaws.com/apmc/data/slider/engine/js/mootools.js (be sure you’ve set the permissions properly). I could stop here if I wanted to, and simply edit the HTML and code on my website so that this file (located on S3) is utilized instead of the one located on Volusion’s server. I’m going to take it a step further and utilize another Amazon web service – CloudFront.
Step 3: Create a CloudFront Distribution
First a preface: CloudFront is a CDN, or Content Delivery Network. The purpose of a CDN is to serve your information from different servers in different locations so that your visitors can have the fastest access to your site. For example, if someone visits your site from the west coast, data may be sent out from a server in California, or it may come from a server in Dallas or Austin if you’re in Houston – and the same is true for other parts of the country and the world.
Now I create a new CloudFront distribution. I choose “Download” as my delivery method, because I’m not streaming out videos. For the origin of my data, I choose either the S3 option and select my APMC bucket that I created in the previous step or, if not utilizing S3 buckets, I choose a “Custom Origin,” which is simply my website URL.
Amazon then gives me the CloudFront URL of d1e41orfkrjn0h.cloudfront.net. This URL can now be used for my S3 bucket. Let’s revisit that:
s3.amazonaws.com/apmc is my bucket, and
/data/slider/engine/js/mootools.js is my subfolder structure leading to my file.
If I chose “Custom Origin,” I simply use my new CloudFront URL as my root directory in my template coding. In a Volusion store, for example, I could use the following code to display a cat image hosted on my Volusion store:
To pull the image from CloudFront instead, I’d change that to:
Step 4: Update Your Website Template
Now that I have my files organized into buckets, and have those buckets set up into distributions, I can now go back to my template and update my links with the CloudFront URL.
With this single change, I will have brought at least $100 a month in savings to my company. By moving additional high-bandwidth content away from Volusion, not only do our savings become very large, but we also deliver that content to our customers much faster.
I have no doubt that you can see how fast, easy, and cheap this process is. Don’t let bandwidth overage fees cut into your profits – reclaim your earnings, give your host the finger, and deliver content quickly and securely by migrating your data to a CDN.