Optimization Services

Added by James Rabey , last edited by James Rabey on Apr 28, 2008  (view change)
Tags: 
(None)

Optimization - Delivering a Consistent End-User Experience

The individual application and desktop services enabled through need to be delivered across network boundaries to their point of assembly at the end-point. The wide range of physical and logical distances encountered in today's IT infrastructures means that the network capacities and performance will differ widely from user to user. Even individual users, being more mobile, will access their applications from a range of different network scenarios, and increasingly expect a consistent experience with no penalty or additional steps required to access their desktop and applications from a particular location.

Optimization technologies allow us to continue using the legacy investments we have made in network infrastructure as well as enable critical strategic efficiency initiatives such as server and data center consolidation. They also become the "catalyst" that allows us to effectively leverage the now dynamic building blocks created by virtualization across the network boundaries.

Three key optimization technologies are:

  • WAN optimization
  • Application traffic management
  • Application acceleration

These technologies are described below.

WAN Optimization

This function is targeted at minimizing the impact of network latency and congestion, which are more noticeable when users are separated from applications and data by a wide area network (WAN). Many application-level protocols, such as CIFS and MAPI, were designed for local area networks (LANs) and, as a result, their performance is noticeably degraded when used over a WAN. Optimization is achieved in a number of ways:

  • Data compression is used primarily to increase effective bandwidth, although it also improves application performance. Consider the case of many users collaborating on editing large documents, which use a common embedded template, in Microsoft Word or PowerPoint. There is a large amount of repetitive traffic across different files, even though the files themselves are unique. Advanced compression techniques with massive compression dictionaries, many gigabytes in size, are now able to replace entire files or megabytes of data with a single reference, saving huge amounts of bandwidth.
  • Caching frequently requested, relatively static data files in temporary storage close to the user helps avoid most of the round-trip delays that can occur over a high latency network. Caching works on complete files in a two-way dataflow---the cache needs to intercept the request from the user and send the requested data to the user.
  • Protocol optimization uses optional transport and application protocol features that improve performance over high-latency and high-error-rate links, as well as locally intercepting and responding to a request before forwarding the request using highly tuned protocols. These techniques reduce the number of unnecessary round trips across high-latency networks. A protocol that is most often optimized is CIFS (file access). Some WAN optimization devices also accelerate the Citrix ICA protocol.
  • Quality of Service(QoS) prioritizes and allocates usage of bandwidth, by using protocols based on policies that are enabled by the network administrator, often in response to business service level agreements (SLAs) or application requirements. For example, Voice over IP (VoIP) traffic cannot tolerate excessive delays and typically does not get compressed and encrypted like application data. Bandwidth reservation, along with various other rate-shaping mechanisms, allows all the traffic to coexist on the same medium and ensure that critical applications get the resources they need to maintain acceptable service levels.

Application Traffic Management

An advanced, application-intelligent evolution of the traditional server load balancing functionality, the application traffic management function routes application layer (OSI Model Layer 7) requests from users to application servers based on the current load, aiming for an equal load across an entire application silo. This function can also provide a certain level of fault tolerance, by maintaining the client connection session, regardless of the state of the particular server processing that session. Traffic management can also extend load balancing performance and scope, with the following range of functions that improve the availability and scalability of applications:

  • Global server load balancing (GSLB) that is a method of intelligently balancing users across multiple datacenters. GSLB allows network administrators to control the distribution of users, detect and bypass site failures, and direct users to the datacenter that gives each user the best performance.
  • Advanced application layer policy framework, used for switching, control, and modifications based on inspection of the application header and data
  • Traffic rate controls that can hold up network side requests when the servers reach capacity, thus enabling servers to run with an optimal load.
  • SSL offload and certificate consolidation that offloads the SSL/TLS workload from servers, saving valuable resources and improving response time. One variation involves maintaining persistent SSL sessions to servers for secure transmission within the datacenter, while still achieving tremendous server scaling. This two-ended encryption is, in fact, critical to providing layer-7 acceleration, security, and switching functionality in environments that mandate the end-to-end encryption of data over all network segments. The consolidation of SSL certificates greatly simplifies application provisioning and management. Consolidating SSL certificates also enables cost savings when a domain certificate can be used in place of individual server certificates.
  • TCP offload, where the appliance handles user connection setup and termination on the network side and the server side; it maintains persistent TCP connections, eliminating redundant protocol processing.
  • TCP connection multiplexing, where the appliance to takes several client-side TCP connections and multiplex them onto a smaller ratio of persistent server-side connections. This further offloads the server in dealing with TCP protocol overhead, as well as the management of internal resources. Because servers allocate resources, such as memory, for active processes, the fewer the TCP connections, the more memory can be allocated for core application services.
  • TCP buffering that occurs when a server sends data packets to the client and it holds the packages in memory until it receives an acknowledgement. The appliance can accept the data from the server at high speeds on behalf of the client, and essentially spool it to the client.
  • Static caching of Web objects, such as images that never change, so that the servers do not have to process requests for them.

Application Acceleration

This capability offloads resource-intensive services that are available on Web or application servers, and applies new advanced acceleration techniques. While the breadth of services varies, the core functionality often includes:

  • Protocol acceleration that applies optimizations to TCP or HTTP protocols to minimize the time it takes to set up connections and transfer data over WAN links.
  • Compression of Web application responses to significantly improve transmission times, either using the standard Web browser that is aware of GZip compression, or more advanced capabilities, such as differential caching, to avoid the further transmission of data that was first transmitted previously.
  • Dynamic caching that allows load-heavy content, such as reports, or popular content, such as sports scores, to be served from the appliance without impacting the server. This capability reduces resource and latency requirements for application content regeneration, and can significantly improve application performance. By avoiding expensive computation to regenerate content on Web, application, and database servers, dynamic caching also scales the transaction capacity of the application infrastructure. This can also help improve performance by caching the results of expensive modifications, such as rewritten responses or format transformations. A side-effect of this functionality is the extension of capacity scaling beyond the Web tier, into the application server and database server tiers.