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.
Debra Littlejohn Shinder, MCSE, MVP is a technology consultant, trainer, and writer who has authored a number of books on computer operating systems, networking, and security. Deb is a tech editor, developmental editor, and contributor to over 20 additional books on subjects such as the Windows 2000 and Windows 2003 MCSE exams, CompTIA Security+ exam, and TruSecure's ICSA certification.