Location of Amazon Data Centers World-wide. Credit Werner Vogels
This past month Amazon sent me an early Christmas present, their very own content deliver network (CDN). Adding to their already robust line of “cloud”offerings, Amazon Cloudfront brings edge server routing to the mix. I have been using Amazon S3 for static content delivery since my most recent hello world. Cloudfront takes the highly scalable and redundant S3 and puts it closer to the end user, thus distributing throughput and reducing latency.
When it comes to web development, one of my driving forces is performance. I love seeking out and shaving milliseconds off page loads and network requests. One of the best ways to do this is to put the content as close to the source as possible. Content Delivery Networks do just that. If my viewers are in Asia, I don’t want my server in New York and vise versa. With a CDN data is cached at several geographically optimized locations as needed. When a request comes in, it is routed to the nearest location.
The quickest route to the Jungle
A good tool to analyze network routing, latency and a bunch of other stuff is pingplotter. They have a free version and pro version. The free version works great for my purposes. Internet Control Message Protocol (ICMP) Pings are a lightweight and predictable way to provide insight on latency and network conditions. Here is a comparison of my routes between Amazon Cloudfront and my standard web server.
As you can see, with Cloudfront I scream right to Amazons Newark, NJ server as apposed to going through McClean, VA, then ATL, and finally to my server in Dallas, TX.
How Cloudfront performs in the CDN storm
Pingplotter works great to determine *your* route and latency.
Just-ping.com provides a great way to test your host/cdn from many geographic locations at once.
Disclaimer: The below analysis was put together to illustrate a general concept. Accuracy and real world conditions will vary.