Content Delivery Network
A CDN or Content Delivery Network is a specific form of webhosting in which multiple servers, at different locations in the world, are inter-connected. The servers are designed for caching content, and the content is duplicated on all servers. This means that if a Dutch user requests a website, the data (images, movies, etch) is loaded from a CDN server in the Netherlands. If another user, let us suppose living in America, wants to see the same website, the data will come from a server in America delivered. Although large CDN like Akamai have existed for decades, this type of service was reserved only for large and wealthy customers. With the emergence of cloud services for everyone, CDN’s have also come into reach of even the humblest blog site. Here you can find an overview of fast CDNs. Initially, I wanted to use Amazon’s Cloudfront, but then I found this article about CloudFlare. It functions as a reverse proxy, and can thus work fully automatically, but because all traffic to the website is redirected to the CDN (instead of just for images and movies), this puts all website control at the CDN. The argument that convinced me in the end is that it’s free.
First I wanted to see if CloudFlare indeed uses a caching server in Amsterdam (at the AMS-IX ) as they advertise. The trace-route seems to indicate that the server is located in Chicago, but I expect that the traceroute is not correct: 20 msec from Amsterdam to Chicago would be extremely fast, and I would also expect multiple hops on the other side of the ocean. I suspect that IP range is incorrectly resolved and the server is indeed located in the Netherlands.
I am also interested in what happens if the a page is loaded from another country: for example, if someone in Canada contacts the website, I would expect that the page is loaded faster from a Canadian CDN server than from my Amsterdam webhoster. I’ve measured this again through a Webpage load time test, but this time originating from Montreal, Canada, see next page.