Thursday, March 08, 2007

Akamai

Content Delivery Network - this is a new concept of hosting the content in wide distributed network. In a website, we have lots of content. Contents are static and dynamic. Simple approach to CDN would be that the static contents are not going to change and we can cache the content or make the request to these static content less time consuming or we dont need the our server to server the static request.

Akamai, is one of the CDN provider. So it works like this. Akamai has around 20000+ servers set across different geographical location around the world. Request for some of the resources will be distributed all across these servers and client will get their content from closest server.

Let me explain in detail. Think of 20 images in a web page and assume the website is www.example.com. So when you refer to the images on the web page, it would look like <img src="http://www.example.com/images/logo.gif" />

So, when the image is requested from the browser the request would land on to the example.com servers. The round trip time or no of hops to this server would be different from different location around the world. This would affect the overall speed in the delivery of the content.

Instead, we can Akamai our contents. In the above example, once we sign up with Akamai they will give us a domain name. Eg. ak.example.com. In our website, we refer to the image content as <img src="http://ak.example.com/images/logo.gif" />. So what happens now?

Now, comes something called Dynamic IP look up. Typically, when a browser makes a request "ak.example.com", the DNS directory returns the IP address mapped to this domain and the communication happens subsequently. But in this above case it works differently. "ak.example.com" would have different IP published in the different DNS directory on different location and hence the IP would be different from different location. Which would mean, the IP returned is one of their 20000+ servers, but closest to them. Thus it reduces a lots of network latency involved. So when a server get the request first time, it would request the example.com server, and cache the image in to their server and all subsequent request will be served from Akamai servers. It is possible to purge the content using their admin tool so that we can refresh the cache.

Above description is very simple description about akamai.

1 comments:

Prakash Gurumoorthy said...

This is a very good way to explain about Akamai. I am actually thrilled by reading this.

You should write more often and write more about how englishtown is akamized.

Prakash