Support: 1-800-961-4454
Sales Chat
1-800-961-2888

Make Your Websites Load Faster With Cloud Files CDN

16

When in Phoenix, optimize Cloud Sites!

There were rain puddles in Sky Harbor’s parking lot and clouds were floating over the Papagos! This is very good for us because more folks will be staying home, traveling on the Internet.

With everyone traveling on the Internet, we need to provide an optimal user experience where pages load as quickly as possible. As you might have guessed, it just happens that I was in Phoenix (or more precisely Tempe, Arizona) to work with one of our key partners: Limelight Networks. These guys have built a world class Content Delivery Network which allows bringing content such as static images as close as possible to the eyeball of the viewer. This is a great enabler for any web site as it allows web pages to simply load faster.

I spent yesterday morning with the Limelight team talking about the acceleration of web pages and tools that our customers should use to better their viewer experience. From a high level point of view, there are two key approaches:

1) Bring content closer to the viewer. For static content, the easiest solution is to publish to a CDN instead of the web server. With Cloud Sites, this basically means uploading images to Cloud Files, and then enabling CDN on top of the storage container. As an example, my personal web site (http://percula.net ) is on Cloud Sites, with all images accessible via CDN. The only visible change is that their URL points to a different location (e.g., for the image accessed from )

2) Pre generate content to have faster response times. The easiest solution is to cache the result of complex queries so that a page being hit is just fetched from memory rather than fetched via few back-end database queries.

Now, how to make this happen without too much pain?

For my blog (and for this blog), I use WordPress and am therefore very lucky as I just had to install and activate 2 plugins: CDNTools to publish to CDN via Cloud Files, and WP Super Cache which stated purpose is “To make WordPress faster”.

If I look at Drupal, there are primitives of work on the CDN front (with ) and also what looks like a few options on the caching front (http://drupalmodules.com/search/node/caching). I will then work with some of our guys who are more familiar with Drupal and will then indicate what seems to work well with Cloud Sites.

In the meantime, let me know which plug-ins you think can really help accelerate a web site.

Learn more about how Rackspace can help you with hosting your WordPress site.

About the Author

This is a post written and contributed by Nicolas Keller.


More
16 Comments

Does that really save anything loading the image from the cloud from a script? I know for myself, we have millions of images online, and loading them through a script bypassed most of the benefits that the CDN offered.

The real speed benefit for us is to use the CDN, bypass our DNS and server altogether. Having our server load a script, then load an external image was actually slower than just loading the image locally.

avatar Joe Elliott on January 20, 2010 | Reply

Joe,

The script is not loading the images, doing so would definitely kill your performance – It instead modifies the references, so that instead of pulling an image from yoursite/images/…, it is puled straight from the CDN (after being automatically uploaded)

Makes sense?

-nicolas

avatar Nicolas Keller on January 20, 2010

It’s an interesting concept, but you’re still adding that extra reference to your site to load something from an external site (the CDN). If it already supported CNAME you could skip that middle man step on your site and pull direct… that’s the part the Cloudfiles seems to be missing… well, that and SSL support.

avatar Joe Elliott on January 21, 2010

Joe,

Agree that we are missing CNAME – We are working on fixing this – And then SSL will follow

-nicolas

avatar Nicolas Keller on January 21, 2010

Hi Nicolas,

Any plans to increase the minimum TTL from 3 days? Cloud Files and Limelight is a great offering, but this restriction severely limits the benefits of long expires headers on static content. I have no problem with content falling out of edge caches if the files go cold, but being unable to send long expires headers to clients is a no-go.

Thanks!

avatar James Byers on January 20, 2010 | Reply

James,

We are looking at different strategies to manage CDN expiration – Please send me an email with what would be perfect for you so that I can add your requirements to our discussions – My email is Nicolas.Keller_at_Rackspace.com

-nicolas

avatar Nicolas Keller on January 20, 2010

Hi Nicolas,

you are right, using a CDN like Limelight is indeed beneficial.

I actually tested the CDN from Cotendo (http://www.cotendo.com) together with CloudSites and their technology is impressive from my point of view…

Instead of having to place the files on a separate container you can just leave them on your server. You can simply handle that via DNS settings on the Cotendo control panel (filtering file types etc). The TTL is also very flexible, with possibility of forcing a global flush.

Really, you need to check it out… if you want to get it touch with them let me know…

Luca

avatar Luca Fracassi on January 20, 2010 | Reply

Luca,

Thxs for the tip!

-nicolas

avatar Nicolas Keller on January 20, 2010

Why do you not support origin pull and Cname? Can you give an explanation? Limelight surely can support it so why can’t cloudfiles? You do realize supporting Cname and origin pull would probably increase your cloudfiles users by 100’s of percentage points right? I constantly hear over and over again from people that the only reason they don’t use Cloudfiles is because you can’t offer something as basic as origin pull.

avatar Mark on January 20, 2010 | Reply

Mark,

CNAME, streaming, etc… are all features that we are working on – Watch this space for announcements
Regarding Origin pull, one way to look at it is that the CDN portion is basically pulling from the storage portion that is directly accessible via the REST API, so having the storage pull from another source might be inefficient as such a setup just adds a passive layer between the initial storage and the CDN – Please contact me to further discuss as I would like to understand the potential use cases

-nicolas

avatar Nicolas Keller on January 21, 2010

Hi Nicolas,

I’m interested in knowing more. I’ve been using Origin Pull for a couple of years, and I really like the robustness and simplicity of the setup. Once the domain is setup, it is also instantaneous.

Replicating data doesn’t “seem” to be as “instant”. What happens if I change some of my files?

avatar Hubert Nguyen on January 23, 2011

Is there a way to prevent your images (or any content for that matter) on the CDN from being hotlinked? That is, can you only allow requests from your domain to retrieve content?

avatar Stretch on February 5, 2010 | Reply

Yes. Through our API, we have set up referrer restrictions so you can dictate who can link to your files.

Hope this helps.
Thanks,

Angela

avatar Angela Bartels [Racker] on February 5, 2010

Thanks Angela, I’ll check it out..

avatar Stretch on February 7, 2010

Well, cname and origin pull is a must , otherwise lots of users need to develop in house, lets say we have a site that sells thousands of products, we are dealing with tens of thousands images and some of those images are created as category thumbs or product detail smaller version one time if they do not exist. If trying to update via API it would be quite messy and not to mention any image updates, origin pull with last modified headers would solve this as if image do not exist origin server would create them and edge servers would then cache them :)

avatar Srdjan Stambuk on February 16, 2010 | Reply

You can change many things via the API, which for some doesn’t mean much but you can actually use your local machine using SSH or use the Cloud Server to do it.

Check out http://www.bybe.net/blog/how-to-fix-rackspace-file-cloud-leverage-browser-caching-via-api-ssh.html that’ll tell you how to change the TTL’s 72 hours and beyond, and you can use SSH and CURL to set any API command. Something rackspace don’t mention awful a lot on here in regards of what to use to connect to the API.

Hope this helps my fellow Rackspace Users ;)

avatar ByBe on March 12, 2012 | Reply

Leave a New Comment

(Required)


Racker Powered
©2014 Rackspace, US Inc.