≡ Menu

The Differences Between Push And Pull CDNs

cdn serverAn increasingly popular way to make travel blogs more efficient is through the use of content delivery networks (CDNs). They are an inexpensive and efficient way to improve loading time on several fronts but can be confusing to set up initially. There are two primary types of CDN – “pull” CDNs and “push” CDNs – which have different benefits and costs so today we’ll take a look at the which one might be best for you.

What Is A CDN?

A CDN helps to speed up static components of your blog (especially pictures of say, your bed in Rome) by distributing them across a number of servers around the world. This does two things – one is to put much of your travel blog’s content closer to the person who wants to view it. So, a person in Japan will download your beautiful photos of Granada from Tokyo, rather than your server sitting in Boston, for example. Less distance traveled means a faster download and secondly, if the content isn’t being pulled directly from your server, it saves overall computing power (important to have plenty of for when traffic gets really busy).

You can set up a CDN on your own server (in effect creating two download points for your photos) but most people opt for paid services like Amazon’s Cloudfront. (Next time I’ll talk about Cloudflare, which is a free alternative, although not a CDN by design.) With paid CDNs, you are generally charged by the amount of data in gigabytes that are downloaded from your site each month. (Here’s Amazon’s pricing chart to give you and idea.) Most travel blogs that aren’t very video intensive don’t have the kind of traffic or the content (e.g. podcasts) to make CDN usage very expensive.

Many hosting providers like Media Temple are also now including CDNs as extra features to their hosting packages though they tend to be much more expensive that 3rd-party alternatives.

push signWhat Is A Pull CDN Versus A Push CDN?

A very watered down explanation of the two is with a pull CDN, the CDN caches parts of your site upon request to their servers. A push CDN is where you upload your entire travel blog to the CDN so it’s ready for users at any given time. Let’s look a bit further.

  • Pull CDN: Imagine a person loading your latest travel blog post. It probably has pictures in it, as does your site’s theme (e.g. icons, background images, etc.) For this example let’s have your hosting server be in Boston. You’ve just published your latest travel blog post and your biggest fan in Japan wants to read it. With a pull CDN, the very first time she does, the content isn’t on the CDN. During this first request, the CDN “pulls” the images and so forth to CDN server nearest your Japanese fan. That could be Tokyo or Hong Kong, whichever it is, the very first time the CDN has to pull the post, meaning your server and reader won’t see any gain in speed. The second time however (and usually for 1-30 days later) the CDN has the content loaded and it’s will be available to everyone who is closest to that Tokyo or Hong Kong CDN server.
  • Push CDN: Going along with the example above, instead of waiting around for the CDN to pull the content when it’s needed, you simply upload the entire content of your travel blog to the CDN beforehand. That way your pictures, theme files, videos, and the rest are always on the CDN servers around the world.

Keep in mind that this isn’t the entire story or process of how CDNs work, it’s a look at the system from very high up in the sky. That said, it may seem like a push CDN is superior to a pull, but that’s not always the case.

small globeThe Benefits Of Pulling Or Pushing Your CDN

In general, a pull CDN is much easier to configure than a push CDN. Once initially configured, a pull CDN rather seamlessly stores and updates content on its servers as its requested. The data usually stays there for 24 hours or longer if the CDN doesn’t detect that a file has been modified. For low traffic sites or those that are sufficiently optimized with caching, good code, and more, a pull CDN provides speed without asking much of your server. Once your content is pulled (give it 48 hours to get enough data to make it a noticeable difference) the maintenance required is low.

  • So what makes a pull CDN so easy can also be a pain, especially when you’re making changes to your travel blog. Typically you don’t have control over how long the pull CDN cache lasts, so if you update a photo or theme, it might take up to 24 hours for all of your readers (and you) to see it. You lose control for ease so when it comes to making widespread changes like updating your theme, you often have to shut off the CDN during the process.

Conversely, a push CDN can put added strain on your server if it’s underpowered for your traffic, or you have lots of changing content in a given day. The reason being, pushing all of your data and any changes as they happen to the CDN takes work on your server’s part. If your server is already struggling under heavy load (here are a few tips to optimize your site) or has new content several times a day, all of them syncing between your server and the CDN might do more harm than good.

Which One Is Best For You?

The decision on which CDN type to go with revolves in large part around traffic and downloads. Travel blogs that are hosting videos and podcasts (aka. large downloads) will find a push CDN cheaper and more efficient in the long run since the CDN won’t re-download content until you actively push it to the CDN. A pull CDN can help high-traffic-small-download sites by keeping the most popular content on CDN servers. Subsequent updates (or “pulls”) for content aren’t frequent enough to drive up costs past that of a push CDN.

Whichever CDN type you end up choosing, I would strongly recommend you keeping track of your usage over the first 1-3 months as well as loading times. You may find that your specific travel blog is better configured for a push or a pull with a little experimentation. Experimentation that should take place on the weekend or other dead times because either way you go, DNS changes are going to make the first 48 hours messy.

[server photo by orangebrompton, push button by Steve Snodgrass, globe photo by fsse8info]

{ 2 comments… add one }
  • Neil June 26, 2015, 05:59

    Thanks for this article. Google will be shutting down their PageSpeed service so I’ve been looking for alternative CDN. I much prefer pull as in PageSpeed compare to push (cloudfront) because of ease of set-up.

Leave a Comment