Accelerating Web Sites and Applications: a Cloud Caching Primer January 31, 2012 Caching is a key concept in computing. Caching algorithms and hardware are used in virtually every aspect of computing to increase efficiency and performance. When it comes to web sites and applications there are numerous caching mechanisms potentially in play that can have a dramatic impact on the end users experience. The principle web caching mechanisms at play shaping the performance of your web property are: Browser Cache: Every web browser speeds up the web browsing experience by caching objects so they don’t have to be downloaded each time they are requested. Many browser cache settings are user controllable. LAN Cache: In many business settings a proxy is used to allow users to share an internet connection. These proxies normally have caches to speed browsing and reduce bandwidth costs. These are typically controlled and configured by corporate IT. ISP Cache: Most ISPs have large caches which serve their customer base for the same reason businesses implement LAN caching. These are ISP controlled and configured. CDN Cache: Many web sites subscribe to a content delivery network (CDN) service. This service functions as a global caching system which places subscriber content on caching servers hosted on ISP networks. The benefits to subscriber of this service are many but mostly it speeds up the delivery of the subscriber’s web site by directing end users to the nearest cache with subscriber’s content. The largest CDNs have 90,000 plus caching servers located around the world. This caching is controlled and configurable by the CDN provider and, to a large extent, the subscriber. Reverse Proxy Cache: Sophisticated web architectures often use reverse-proxies to serve content from a high speed cache rather than the actual web server. This technique improves site response times, particularly under load, and reduces the strain on the web servers. At Carbon60, this is a managed service integrated into our C60 cloud hosting platform. Web Server Cache: IIS and Apache web servers both support caching of both static and dynamic content to improve their performance and efficiency. Apache’s mod-rewrite, for example, is a very popular tool for transforming dynamic php content into static (i.e. cachable content). This level of caching is configured and controlled by Carbon60 unless the customer is subscribed to a self-managed service. Storage Cache: Enterprise-class SAN storage devices have high performance caches to accelerate read and/or write operations. For many I/O intensive web applications the quality of this cache is key to its overall performance. Application Cache: Programmers can also achieve great performance gains by use caching methods at the data layer, the business logic layer, and the output layer of their web applications. This caching is controlled by application’s developers. As a provider of cloud hosting services, Carbon60’s concern is CDN Caching, Reverse Proxy Caching, Web Server Caching, and Storage Caching. These caching mechanisms are configurable by Carbon60 and each can significantly improve the performance of our customers’ web sites and applications. Unlike other cloud hosting providers, Carbon60 integrates all four of these caching mechanisms into its C60 cloud hosting platform. But the three I would like to highlight here are Carbon60’s Storage Caching, CDN Caching, and Reverse Proxy Caching. The C60 Cloud platform uses a fiber channel over InfiniBand storage fabric attached to enterprise-class SAN storage devices. This high performance storage system features advanced quality of service controls to facilitate the intelligent sharing of a minimum of 48 GB of mirrored cache (as well as disk, and CPU resources) to meet I/O requirements not supported on competing cloud platforms. In addition to advanced storage caching, Carbon60 has implemented a large reverse-proxy caching infrastructure. This infrastructure is fully managed by Carbon60 and sits in front of our cloud computing and storage infrastructure. When a web site or application goes into production it is put behind this infrastructure. For the typical web site cache hit ratios on this system are above 80%. Based on our testing, this translates into approximately 2% faster page download times and 10% less web server load. In partnership with Akamai, Carbon60’s CDN Caching service delivers even more dramatic benefits than its reverse proxy caching service. Page load times, particularly for overseas visitors, can be reduced 50% or more by directing end users to content cached on their global network and web server load can be decreased by up to 50%. Moreover, the CDN service can scale quickly to handle massive spikes in legitimate or illegitimate traffic that would otherwise overwhelm your origin web servers. It can also redirect traffic to an alternative origin site if the primary is down. Working together, the CDN Caching, Reverse Proxy Caching, Web Server Caching, and Storage Caching infrastructure are key components of Carbon60’s cloud hosting platform and critical to delivering outstanding performance for a wide range of web and business applications.