Importance of Page-Fragment Caching in Enabling High Performance Websites
By Christie Flanagan on Feb 14, 2013
Today's guest blog post is from Mariam Tariq, Senior Director of Product Management for Oracle WebCenter Sites. Mariam has worked in the technology space for over 15 years with a focus in web content management, social marketing, and mobility. She has also held roles in product management, strategy and engineering at Zenprise, Interwoven, and Scientific Atlanta. Mariam holds BS and MS degrees in Electrical Engineering and Computer Science from the Massachusetts Institute of Technology, and an MBA from the University of California at Berkeley.
For most organizations, the online channel is a significant customer touch point which continues to grow in importance year after year. Delivering a highly responsive website with no downtime ensures there is neither revenue loss nor poor customer experience. A caching subsystem is a central part of the website delivery system needed to achieve high performance.
While page-level caching is essential for performance, further caching at a fragment level enables dynamic delivery of the website such that pages can be assembled at runtime when incoming requests are received. This is especially critical to delivering targeted websites where different users see different content on a page based on his/her visitor attributes such as location, time of day, or registered preferences. It is much more efficient to recompute only the fragments of the page that are different rather than the entire page, as typically only small amounts of data on a page will change.
Oracle WebCenter Sites is a Web Content Management system capable of this type of high scale dynamic delivery. In WebCenter Sites, efficient dynamic delivery is made possible by keeping track of changes to individual web components and dependencies between them. This is followed by just-in-time page assembly and caching of discrete fragments at the edge of the network. As a result, even when data is managed in traditional relational databases, the page delivery model scales to serve a very high throughput site with a reasonably small hardware footprint.
WebCenter Sites provides two layers of caching known as double-buffered caching: Sites Server cache and Satellite Server cache. Sites Servers are the core servers that can publish to Satellite Servers. Satellite Servers are remote servers that provide distributed caching and are first to receive the client requests. A typical deployment topology is shown below. If the requested page is not in the Satellite Server cache, it is requested from WebCenter Sites. If WebCenter Sites does not have the page in its cache, it regenerates it and sends it to Satellite Server.
Figure: Typical WebCenter Sites Deployment Topology
Furthermore, WebCenter Sites communicates asset dependency information to all Sites and Satellite Server nodes. So when individual assets on a page change, each cluster node (in a Sites or Satellite Server cluster) is able to determine where that asset is used and which page fragments should be invalidated. Caching is therefore not limited to only page level. WebCenter Sites caching includes multiple layers of different kinds of cache, each tooled for a specific delivery scenario: assets, page fragments, and even database queries.
Content Delivery Networks (CDNs) can be used with WebCenter Sites to further increase performance. WebCenter Sites complements CDNs by caching authenticated content not typically cachable by CDNs. In addition, WebCenter Sites Satellites are an added availability layer that can provide a back up to the CDN as well as act as an additional barrier for intrusion attacks. For companies with moderate traffic, WebCenter Sites provides a cost effective solution for caching in lieu of using a CDN.
To summarize, granular caching at a fragment-level ensures a high performing website with reduced cost and hardware footprint. To meet and anticipate performance needs, such a caching strategy should considered when implementing a website.
On Demand Webcast: How Brands Can Survive Digital Darwinism
This is the age of Digital Darwinism – where society and technology evolve faster than your ability to adapt. How well poised is your brand to survive and thrive in this new environment? Watch this webcast to hear Altimeter Group digital analyst and futurist, Brian Solis, discuss the rise of connected consumerism and learn how brands can survive Digital Darwinism by better understanding customer expectations, disruptive technology, and the new opportunities that arise from them.