We’re excited to announce that Oracle Cloud Infrastructure (OCI) Web Application Acceleration is now available across OCI regions. Web Application Acceleration improves the experience of end users by increasing application performance and decreasing latency and system load. Web Application Acceleration adds content caching and compression capabilities to OCI load balancers that web browsers and standards-compliant HTTP-based application clients can immediately consume.

Benefits of Web Application Acceleration

Enabling the caching and compression capabilities of Web Application Acceleration for your application environment creates the following benefits:

  • Decreased application latency: The caching capabilities of Web Application Acceleration eliminate the need for some load balancer to backend server traffic, directly reducing application latency. The compression capabilities can decrease the time required to transmit data over the network, further reducing the latency experienced by clients and increasing application responsiveness.

  • Decreased system load and cost: The caching and compression capabilities of Web Application Acceleration reduce load on the network and the application. Caching reduces the number of requests that backend servers must field, reducing their processing load. Compression reduces the number of bytes transmitted over the network. By not processing requests and sending bytes, enabling Web Application Acceleration in an existing environment can directly decrease load and application costs.

Typical deployment scenarios

Web Application Acceleration improves customer experience and overall system performance for most HTTP-based applications, including applications delivered over HTTPS and HTTP/2. The most common deployment scenarios for Web Application Acceleration include the following examples:

  • Internet-facing web applications: Applications are hosted on OCI and used by web clients on the internet. The traffic from these applications is called north-south traffic or communications.

  • Internal web applications: Applications are hosted on OCI and accessed by clients that reside inside the customer’s own networks or inside otherwise private networks.

  • Internal applications using HTTP: These applications, services, or systems are made available to and used by other applications and that might not appear as a web application but still use HTTP. Applications in this category utilize the request-and-response nature of HTTP and can take advantage of other network functionality available to HTTP-based workflows. Traffic from these applications is referred to as east-west traffic.

Functionality overview

Web Application Acceleration provides two primary pieces of functionality: caching and compression.

Caching enables the acceleration of web applications by storing reusable web content for future use on the load balancer itself. If this content is requested more times after it has been cached, it gets served from cache without forwarding the request to the backend servers. This process both improves application performance and decreases load on the backend servers.

Web content is cached on the load balancer as directed by the standard cache-control HTTP response headers set by the application backend. Web Application Acceleration caches content until it either expires, according to the cache-control headers sent by the backend, or until the Web Application Acceleration cache approaches its size limit. When that happens, less-recently accessed content is removed before it expires. Content without these headers, or with cache-control headers that instruct against caching, is not cached.

Compression reduces the over-the-network size of web content decreasing application latency, particularly for clients on higher latency network connections, and decreasing network usage and costs. When compression is enabled, common text-based content types, such as HTML, XML, javascript, CSS, and JSON, that are also cacheable can be delivered to clients compressed with gzip. Web clients indicate they can support and want compressed content by setting the accept-encoding HTTP request header to gzip or *. Content that Web Application Acceleration can compress but is requested without a suitable accept-encoding request header is delivered uncompressed.

Enabling Web Application Acceleration

Enabling Web Application Acceleration for your environment is a two-step process. When configuring Web Application Acceleration through the Oracle Cloud Console, you can carry out both steps during the create policy workflow.

First, a Web Application Acceleration policy is created. This policy includes a display name and specifies whether caching or caching and compression is enabled.

Then, one or more accelerations are created by applying the policy to one or more load balancers. Web Application Acceleration policies are applied to load balancers and not to specific listeners on load balancers. The functionality is specific to web applications that use HTTP traffic on HTTP, HTTPS, or HTTP/2 listeners. The application of a Web Application Acceleration policy doesn’t affect TCP listeners.

A screenshot of the Create WAA policy window with fields filled in.

When the acceleration is created through the application of a Web Application Acceleration policy to the load balancer, the load balancer begins performing caching or compression as directed by that policy.

Monitoring and operating Web Application Acceleration

Web Application Acceleration emits metrics and logging on a per-acceleration basis. You can see metrics in the default graphs presented under the acceleration in the Oracle Cloud Console or by using the full functionality of OCI Monitoring, such as the Metrics Explorer and APIs.

Web Application Acceleration also integrates with OCI Logging to provide visibility into the requests seen by Web Application Acceleration and the impact of caching and compression. For caching, the logs include whether the response content was served from cache (a cache hit) or not (a cache miss). For compression, the logs indicate the size of the served content with and without compression.

The following screenshot shows a log entry for a response both served from cache and compressed. You can see similar logs for your accelerations by viewing the acceleration in the Console, selecting Logs from the Resources section, and selecting the log name from the table.

A screenshot of the JSON file showing the number of log events per minute with the caching and compression information outlined in red.

Cache invalidation is an important workflow for customers utilizing caching with web applications. Cache invalidation, or purging, removes items from the load balancer’s cache and results in content that was previously and validly cached being retrieved from the backend the next time that a web client requests it. Web Application Acceleration supports invalidation of the cache on a per-acceleration basis using the Oracle Cloud Console, CLI, and APIs. Through the Console, use the Purge cache button within the acceleration detail view.

A screenshot of the Purge Cache window.

Conclusion

Web Application Acceleration improves the customer experience for all your HTTP-based applications. By using standards-based singling mechanisms in the form of cache-control and accept-encoding HTTP headers, you can integrate Web Application Acceleration into existing applications in a safe and straightforward-to-operate manner.

To learn more about Web Application Acceleration and enable it for your environment, see the documentation.