How Dynamic Site Acceleration Works, What Akamai and Cotendo Offer
For those that track the content delivery networks, they are familiar with the idea that CDNs are trying to diversify their revenue by adding "value add services" to their portfolio. While that term is widely used by CDNs, and was originally coined by Akamai, I have yet to see any CDN define what it really means or which services fall under that term. After my post two weeks ago regarding AT&T teaming up with Cotendo to bring new CDN services to the market, I got a lot of questions specifically about dynamic site acceleration (DSA). I thought it would be helpful to explain what dynamic site acceleration is, what are the differences between DSA offerings, and what's the business case for the product.
Simply put, dynamic site acceleration is a suite of technologies and/or products that make websites reliant on dynamically served content perform better, load faster, and ultimately, make more money. Traditional CDNs improved performance by caching critical content closer to end users. The personalization (Facebook), streams (Twitter), geolocation (FourSquare), real-time info (Google Instant), and customization (MyYahoo) inherent in Web 2.0 have made caching content far less useful. SaaS and enterprise applications (B2B and B2C) have made the case for dynamic, transactional content, as well as the demand for ecommerce and web retailers – focusing on personalized recommendations, and transactional and secure check-out and shopping carts.
DSA augments or in many instances replaces caching by creating new ways to quickly deliver online content or deliver online services and transactions faster. This, in turn, translates into a better user experience, more user clicks and interactions, higher conversion rates and better search engine visibility. Researchers from Microsoft and Google found that a 2-second site loading slowdown resulted in 2% fewer queries, 3.75% fewer clicks, and significant decreases in user satisfaction. The Aberdeen Group found that a 1-second delay in page load time equals 11% fewer page views and a 7% loss in conversions. (In other words, a site that averages $100,000 a day in revenues would lose an additional $2.5 million in sales each year). This is precisely why Google has an entire team of engineers dedicated to shaving milliseconds off load times for search results and is the rationale for DSA.
What makes up a DSA offering? Traditional DSA services often include most or all of the following technologies, most of which are dealing with optimizing bit delivery across the network:
- TCP optimization: Algorithms designed to handle network congestion and packet loss, providing ways for an origin content provider or a CDN to quickly recover from these issues or compensate for slow starts and other common TCP-related bottlenecks.
- Route optimization: Technology that optimizes the route of the request from the end-user to the origin and ensures the reliability of the connection, by routing it through a CDN network and going through routes that are constantly measured to ensure a faster and more reliable route. True DSAs optimize all parts of the route including first mile (origin to CDN), middle mile (within the CDN cloud) and last mile (CDN edge to user).
- Connection management: Includes persistent connection provision and HTTP multiplexing. The DSA will maintain reusable and optimized HTTP connections from the edge servers to the origin servers, and between the edge servers, rather than initiating a new connection for every request. This can dramatically speed up content delivery, as delivery of content and set up of a new connection can take 3-4 times longer than delivery of the same content over an existing connection.
- On-the-fly compression: Modern browsers reconstitute compressed objects, allowing for compression of text objects (HTML, CSS, JS) to 20% of their original size. Most dynamic, uncacheable content is compressible (think Facebook or Twitter feeds). Compression by origin servers is very compute intensive, however. True DSA services compress text objects shortly after they leave the origin servers. This results in less load on the origin servers, less data moving across the Internet to the end user and faster content delivery without requiring additional bandwidth or hardware.
- SSL offload: A mechanism to speed up the critical secure transaction process – such as a check-out at an online store. This traffic is highly personalized and dynamic, and is also a regular point of abandonment by end-users. CDNs with SSL offload offerings take over the critical secure transaction and speed them up by moving the transaction closer to the end user while simultaneously reducing the processing load of the origin server by performing the key calculations and encryption for new connections, which, like all encrypted operations, are compute intensive.
- Pre-fetching: Offered by Akamai, this service will parse through a served HTML file and will prefetch from the origin server the cacheable objects embedded in the file. A CDN can prefetch only cacheable content. Dynamic content by definition is contextual and can only be requested by the user. Technologies such as AJAX and HTML5 have also made this technique fairly obsolete. In contrast, the other major DSA provider Cotendo addresses cacheable objects by providing tight integration between its DSA and caching services and developing advanced caching technologies that ensure higher cache efficiencies and minimal cache misses.
[Updated 10/25: Akamai contacted me to comment on this and said, "by default, when prefetching is enabled, the Akamai server will prefetch objects that are non-cacheable along with those that are cacheable. It also prefetches objects that have a zero second TTL assigned to them. The Akamai server holds the these objects in a separate buffer. They expire after a short time, can be served only once, and can be served only to the same user that requested the page that references them (based on the Browser-ID). The Akamai server can prefetch two kinds of non-cacheable objects: objects with “no-store” or "bypass-cache" metadata, and objects that are non-cacheable based on their response headers (for example, a Vary: header)".]
- Whole-site delivery: Most web pages are a hybrid of dynamic and static content. Site operators increasingly prefer to deliver the entire site through a CDN to improve performance and to manage key components of each site experience. Whole-site delivery has different flavors at different vendors, and differs by the efficiency of identifying cacheable and dynamic content, and whether it applies DSA techniques to the dynamic part or simply fetches from origin.
While there are numerous companies providing services labeled as DSA, Cotendo and Akamai offer the most comprehensive DSA technologies and products. It is important to know the differences between the two services, and that can be a bit tricky. Akamai has dominated the space since 2007 when it acquired Netli, the first company to truly deliver DSA as part of a CDN service and not attached to a dedicated appliance. Cotendo launched in 2009 and has quickly acquired over 200 customers including some marquee names like Facebook and Answers.com. Both companies have viable DSA offerings that include all the above-mentioned.
Akamai represents an older, big-iron approach to DSA. It has a large network with hundreds of PoPs located very deep inside of ISPs. However, not all of Akamai's PoP's are DSA capable and many are used primarily for other CDN and video delivery platforms that still account for the largest portion of Akamai’s huge traffic volume. In general, Akamai still focuses on base-level network delivery and reliability problems with technologies such as SureRoute, path failover and more. However, in many cases these once critical problems/bottlenecks are no longer as severe due to the improved efficiency of modern networks, and reliable networks providers that focus on solving it (Level 3, AT&T, …) especially in US and Europe.
Also, it is important to note that Akamai has grown by acquisition and so not all of its various technologies from Akamai, Speedera and Netli work seamlessly together. Inefficient integration between caching services and DSA make configuration very complex and reduce the overall acceleration potential. In terms of configurability and tunability, Akamai does not really accommodate the real-time Internet and the modern world of dynamic content and customers tell me it can take hours for changes to take place on the Akamai network.
Cotendo takes a different and more modern approach to DSA. Rather than focus on only improving network performance, Cotendo is also focused on providing intelligence above the network layer. At its core, Cotendo's DSA offering is a suite of services aimed at improving the four key elements of performance: DNS, connection, first byte (get to origin), and content delivery. Cotendo provides advanced DNS services that accelerate DNS requests and provides this service from every PoP since this is really the only service Cotendo specializes in.
The company is not streaming video, is not deploying Flash Media Servers and has a network focused on DSA and application acceleration. Cotendo says they improve on the more traditional DSA TCP routing system by including enhanced adaptive congestion algorithms. These algorithms measure network conditions between all PoPs, origin servers, and end-user/ISPs and then optimize each connection according to the conditions. Their system provides an adaptive topology to optimize the route according to network conditions, reliability, and number of CDN hops, providing the fastest and most reliable path from end-user to origin.
In comparison, Akamai’s DNS system goes through several levels of resolution before finally getting to the server that will serve the content, sometimes as many as four or five lookups. Even when you get there the secure and plain text portions of the site may be served from different machines reducing the effectiveness of caching.
[Updated 10/25: Akamai contacted me to comment on this and said, "It's important to understand that one of those "several levels of lookup" is done against our edge infrastructure and this is well-documented to be much closer to end users than any "centralized" DNS infrastructure. Its also important to note that DNS typically is looked up once per transaction, not once per object so any penalty paid on the initial DNS lookup due to our additional level (typically only 5-10 msec) is more than made up for by the superior acceleration."]
Cotendo also implements an advanced application integration layer trying to make DSA more accessible to customers. This layer enables efficient handling of both cacheable and non-cacheable content, but also enables smart caching of content that would otherwise be not cacheable. The layer does this by analyzing request streams and making the cache more contextual by, for example, caching geo-targeted results and offloading some of the logic from the origin server back to the CDN. This can dramatically help with introduction of new services that may make caching become even less efficient, reverting previously cacheable requests to become dynamic.
For example, location based services, that present relevant recommendations based on the user’s location (IP address, or location information in case of mobile). This cannot be cached on a traditional CDNs as cache can’t distinguish between different locations (or parameters of the request). Another example is decisions based on device types, like redirecting a request coming from mobile device to a different origin, or site, or serve different content to optimize for the device. All of these decisions are typically done on the origin.
[Updated 10/25: Akamai wrote in to say they also have an advanced application layer that can, "Cache results pages generated by keyword searches (for example, "shoes"), "generate pages on the fly for searches on product names which Akamai would cache", and "can cache dynamically generated product category pages."]
These types of offerings typify the next wave of DSA as website operators seek more granular controls and real-time analytics capabilities from CDNs in order to drive more timely decisions around site optimization and traffic handling, among other topics. We will be talking a lot more about this in-person at the Content Delivery Summit, May 2011 in NYC.
In addition to Akamai and Cotendo, other players like Limelight and CDNetworks have entered the DSA market but it remains to be seen how quickly these other services get traction for their new offerings. Dynamic site acceleration and application acceleration are the future of the CDN business and vendors are hard at work spending a lot of engineering resources and R&D dollars on making these services more valuable to content owners. Now if they would just do a better job of actually defining what they classify as "value add services", we'd have a lot more educated people in the market.
I'm not a network engineer and I don't know everything there is to know about DSA, but if you have a question about dynamic site acceleration, put it in the comments section and I'll try to answer it.
[In the comments section, Joshua Bixby pointed me to an article he wrote on the subject of DSA. It's a good read and you can find it on his blog here.]