Microsoft Ajax CDN distributes your JavaScript files

As the role of JavaScript on the web sites grows, the management of JavaScript files becomes more relevant. Content Distribution Networks aim to solve one part of the problem.

Earlier on, Google and Yahoo have founded open content distribution networks, providing hosting for JavaScript files needed for web sites. The basic idea behind a CDN is that the content is served from a centralized repository residing on the hoster’s server. The CDN servers are distributed around the world, providing localized loading.

In theory, this provides two benefits: First, accessing a website hosted on the other side of the world can be sped up by serving a part of the files from a server closer to the user. Second, some of the files might not even need to be served – if the user had previously visited another site using the same CDN, the same JavaScript file might already be cached on the user’s computer.

See the Yahoo’s YUI dependency configuration tool for an example on what kind of libraries Yahoo and Google serve.

Microsoft Ajax CDN

The Microsoft Ajax CDN is a distribution network like its Google and Yahoo equivalents. Technically, the Microsoft network is spread across a group of servers hosted by Akamai. Since the CDNs are platform-independent, you could use the Microsoft CDN in PHP applications or leverage the Google-hosted Ajax Libraries APIs in your ASP.NET applications.

However, pairing Microsoft’s offering with ASP.NET does have some special benefits:

  • The Microsoft Ajax CDN also hosts the vsdoc versions of the JavaScript files, enabling IntelliSense. Unfortunately, only Visual Studio 2010 (not 2008) supports CDN-based IntelliSense.
  • Microsoft ASP.NET 4.0 makes it particularly easy to pull ASP.NET AJAX from the CDN. Namely, you can just add EnableCDN=”true” onto the ScriptManager element and stop worrying about versions being deployed with your application.

In addition to the ASP.NET AJAX libraries, the Microsoft Ajax CDN also hosts jQuery. However, its support for different libraries is still considerably narrower than the Google or Yahoo equivalents.

Also, there are some valid privacy concerns. The Microsoft Ajax CDN is hosted on the microsoft.com domain, meaning that cookies for the AJAX calls could potentially be used for user tracking by Microsoft. To a limited extent, Google would have the same opportunity, so it is, after all, yet another trust issue. Use of https is also a problem at this stage, but may be alleviated at a later point. See a blog post at idunno.org for an overview on these topics.

Microsoft’s CDN offering doesn’t seem to offer compelling advantages over its competition, but Microsoft’s effort tends to push previously published things into the mainstream. While major web properties have already used pretty much every trick to optimize their bandwidth bill and loading times, this kind of optimization is slowly spreading to smaller sites as well. The availability of JavaScript libraries is a small but relevant step, and will probably see further adoption in the coming years.

Be Sociable, Share!

October 10, 2009 · Jouni Heikniemi · One Comment
Tags: , , ,  · Posted in: .NET, Web

One Response

  1. Heikniemi Hardcoded » Windows Azure Content Delivery Network announced - November 9, 2009

    [...] recently blogged about the Microsoft Ajax CDN being able to handle the distribution of your JavaScript. Microsoft certainly didn’t setup all [...]

Leave a Reply