Slow application response time can result in frustrated
users and lost productivity, impacting your business’s bottom line. So it’s no
wonder that application acceleration is one of the new buzz phrases in the IT
industry, but what does it really mean? Do you need it? If so, what’s the most
scalable way to implement it? Let’s take a look at different types of
application acceleration technologies and how you can create an application
acceleration strategy that will grow with your company.
Local vs. network applications
In the past, most application software was installed on and
run from the local computer. This is still often the case for small businesses.
With local applications, performance depends primarily on local system
resources and is affected by processor speed/number of processors, amount of
physical and virtual memory, and other applications with which those resources
are shared (multi-tasking).
In this type of environment, accelerating the performance of
applications is accomplished by upgrading hardware on an individual machine
basis, turning off visual enhancement that consume precious resources,
disabling unneeded background services that compete with your applications for
processor time and memory, using prefetching to
improve application load time, defragmenting disks on
a regular basis and optimizing various settings such as setting priorities for
processes, tweaking performance-related registry settings, and so forth.
In today’s medium-to-large organizations, however, many
applications are delivered across the LAN, WAN or Internet. That brings new
issues into the equation and makes application acceleration a matter of network
bandwidth and protocols.
Applications move to the Web
More and more applications are now being delivered through
the Web. It makes sense from a convenience standpoint, because almost all
Internet-connected computers have Web browsers. This eliminates the need to
install any kind of software on the user’s system. HTTP is one of the most
ubiquitous of network protocols and this “webification”
of applications creates a common interface and environment for users as well as
a common delivery system for administrators.
A key element in accelerating Web applications is the use of
a reverse proxy to cache static objects. We’ve discussed Web caching solutions
in this column in the past, but most of the focus was on forward caching, which
is a way to speed up internal users’ access to Internet content by having a
proxy server locally store copies of objects downloaded from Internet sites.
Reverse caching, as its name implies, works in the opposite
direction. The reverse proxy server stores copies of the objects that are
accessed on your internal Web servers and returns them to requesters without
having to go to the Web server to retrieve them, thus accelerating performance
for external users.
Scaling a reverse proxy solution
Web application acceleration is often discussed in the
context of the enterprise environment, but even small companies can use a
reverse proxy to accelerate the delivery of Web-based applications, and you
don’t have to spend a lot of money to do it. Free and low-cost reverse proxy
software includes:
- Squid:
an open source proxy server licensed under the GPL that is available as a
free download at ftp://ftp.squid-cache.org/pub/.
It runs on Linux, FreeBSD, Mac OS X and several versions of UNIX. You can
use the Cygwin development environment
to compile and run Squid on Windows. - IIS
Reverse Proxy: an open source reverse proxy application for Internet
Information Services that is licensed under MIT and can be installed on
Windows 2000, XP or Windows Server 2003 running IIS. You can download it
at http://www.saltypickle.com/Home/16 - Orenosp Secure Reverse Proxy: a shareware reverse
proxy, load balancer and secure port forwarder that runs on Windows NT,
2000, XP and 2003, Linux and OS X. Get more information at http://hp.vector.co.jp/authors/VA027031/orenosp/index_en.html
Typically, as the company grows, so do your Web acceleration
needs. Less sophisticated reverse proxies will cache everything, while more
advanced ones will allow you to surgically manipulate what is and isn’t cached.
You’ll also want to consider protocol support for scalability — you may want to
be able to cache more than just HTTP objects.
Moving up from the free and low-cost solutions, you can find
mid-priced products that will meet the needs of a medium to large sized
business. For instance:
- Microsoft
ISA Server: ISA functions as a forward or reverse proxy as well as an
application layer filtering firewall, so you get a lot of bang for the
buck. The standard edition runs on Windows 2000 Server or Windows Server
2003 and costs $1499 per processor. Enterprise Edition, which can be
deployed in arrays for greater flexibility and scalability, costs $5999
per processor. For more information, click
here. - Vigos AG Website Accelerator: For those who don’t need
the added functions of ISA but just want a reverse proxy to accelerate
performance of their Web sites, Vigos also
compresses sent data in real time and costs $499 for the “light” edition
(supports a single domain), $999 for the standard edition (supports up to
ten domains) or $1999 for the enterprise edition (unlimited domain
support. For more information, click here.
At the enterprise level, reverse proxies allow you to
implement reverse proxy solutions to multiple front-end Web servers, secure
communications with SSL. High end proxy solutions designed for the enterprise
can cost up to $30,000 or more. Some options include:
- Blue
Coat Proxy SG: configured as a turn-key appliance, the Proxy SG comes in
several series (400, 800 and 8000) to fit different budgets and needs. You
can implement forwarding to upstream Web servers, load balancing of
multiple Web servers and even perform health checks of upstream Web
servers. The high-end 8000 series can support 50,000+ connected users and
supports up to 300+ Mbps WAN throughput. The 8000-4 can cost as much as
$99,000. For more information, click here. - Cisco
Content Engine: This is Cisco’s caching and content filtering appliance
that can be deployed in front of your Web sites to cache or stream split inbound requests for content and offload
traffic from the Web servers for increased Web application performance.
There are a number of different models available. The Content Engine 7325
ranges in price from $40,000 to $50,000, depending on reseller. For more
information on the products and how to use them for application
acceleration, click
here.