2

I was reading an article about Web Application configurations and I came across the concept of a Web Accelerator, but reading the list of features it seems it provides pretty much of the features that I would ask from a CDN or even some Web Server configurations.

A web accelerator is a proxy server that reduces web site access times.

It provides:

  1. cache recently or frequently accessed documents so they may be sent to the client with less latency or at a faster transfer rate than the remote server could.
  2. freshen objects in the cache ensuring that frequently accessed content is readily available for display.
  3. preemptively resolve hostnames present in a document (HTML or JavaScript) in order to reduce latency. prefetch documents that are likely to be accessed in the near future. compress documents to a smaller size, for example by reducing the quality of images or by sending only what's changed since the document was last requested.
  4. optimize the code from certain documents (such as HTML or JavaScript).
  5. filter out ads and other undesirable objects so they are not sent to the client at all.
  6. maintain persistent TCP connections between the client and the proxy server.
  7. improve the performance via protocol level accelerations, such as TCP acceleration.

Now if you ask me I look at the following components and also give them the above responsabilities:

CDN: (1)(2)

Load Balancer: (5)(7)

Reverse Proxy: (1)(2)(4)(6)(7)

Although I might have not fully correctly categorized the above assignment of responsabilities, it seems like a web accelerator could be a CDN, a LB or even a Reverse Proxy.

Could someone point me the uniqueness of such component and the best use cases? And how does an web accelerator fit in a model with a CDN, LB and/or Reverse Proxy?

bitoiu
  • 71

2 Answers2

1

You're right: a web accelerator is a concept technology that can be used either standalone, as part of a commercial CDN, part of a home grown CDN, or even part of a client installation.

There is no one true implementation of a web accelerator, it's a category of technology. Examples are on-the-fly compression/decompression, HTTP caches that are closer to the user than the origin server and reduce or eliminate processing time, and several others.

CDNs will use several examples of these technologies to put together what they think is the right kind of web-acceleration that they can sell to their clients.

webmarc
  • 871
1

A web accelerator could be a CDN, but a very trivial one.

The wikipedia definition of CDN is :

a large distributed system of servers deployed in multiple data centers across the Internet

While the web accelerator is defined as :

a (one) proxy server that reduces web site access times

The CDN is really a network, whose primary function is optimizing the access to much-solicited content, usually in the service of very large companies. It achieves this by:

  1. Multiple localized datacenters around the world reduce message transit time
  2. Division of the load reduces congestion
  3. More datacenters can be brought to service a website that encounters an unexpected peak of requests (or a denial-of-service attack).

Each server in a CDN is in effect a web accelerator, and the CDN network contains the logic to ensure that all content is up-to-date in all of the servers. The CDN can be viewed as a forest of web accelerators.

One of the most-known CDNs is Akamai, with an enormous customer list that includes Adobe, Apple, IBM Corp., Microsoft, Yahoo! and more. Its clients have always resisted all attempted denial-of-service attacks, because of its enormous world-wide network.

harrymc
  • 498,455