On the web today, there is a strong focus on performance. A website must be rendered as fast as possible for all users regardless of their geographical location, device capabilities, latency and bandwidth. The value of a fast loading web page is well documented. If we look closer at the drivers that slow down a website, then we discover that mobile devices connected through the telco network have a much slower experience. This is because of the resources available in this context. However, there are many things we can do to mitigate these slowdowns. One solution is to use a Content Delivery Network (CDN).
CDNs are not new. They’ve been around for many years for good reasons. By geographically distributing traffic to cache servers close to the end user, latency is reduced. Furthermore, much of the traffic is offloaded to the CDN reducing the risk of DOS attacks, or simply helping to tackle peak traffic, which ensure the availability of the site. So, a CDN is usually a very good investment in better performance. Especially for sites with a global target market.
A couple of years back, a CDN was pretty much a CDN. Caching and serving mostly static files with little logic applied. Back then, one single CDN might have been enough. Now, there is a trend towards multiple CDNs used on a single site depending on their characteristics. Different content is served by different CDNs. For example, Google’s CDN is widely used to serve fonts and scripts. ChinaCache is great for sites targeting the Chinese market. Our own ImageEngine is great for quickly serving resized images for mobile devices. Along with the trend of specialized CDNs, there is also a trend to apply more logic “at the edge”, which means that various optimization techniques are applied to the cached content as close to the end users as possible. All to ensure better performance and user experience.
Looking at the data from httparchive.org, 18% of the sites are hosting html on a CDN. If we dive deeper into the data (made available in Google BigQuery), 37% of all subsequent requests made from the initial html page are served from a CDN (July 2016). The reason for the relatively high difference is likely to be the trend of specialized CDNs with edge computing capabilities.
According to the httparchive data, out of the sites already using a CDN, 69% use more than one (excluding references to social widgets like Twitter and Facebook). 45% use more than two CDNs. Google is usually one of the CDNs in this group due to its convenience for serving fonts and scripts. Aside from that, there is a good mix depending on the needs of the site.
This is also the reason why we launched ImageEngine. Looking at the CDNs serving images today, none of them address the challenges of images effectively. Especially for mobile users. For many sites the mobile users now account for more than 50%. For example, 50% of Google searches are now performed from a mobile device, and Google asserts that proportion will grow. We know mobile devices have questionable connection quality. And we also know that images accounts for more than 60% of the bytes of the average web page. So addressing the challenge of fast mobile images with an image-oriented CDN is one of the this is definitely one of the most important challenges to address in order to improve all aspects of using the web.
ImageEngine is a CDN that specializes in optimizing images particularly for mobile users. ImageEngine brings further innovation to the trend of edge computing by applying advanced device detection to figure out how to best size, compress and deliver a given image. Our estimates suggest a saving of up to 60% in bytes transferred.
ImageEngine is a pull-based CDN. Which means that you don’t have to upload or manage your images before you start using ImageEngine. With most other CDNs it is required to upload or somehow push the images to the CDN first. This process adds overhead and complexity to the workflow. With ImageEngine it is just plug and play – no uploading required.
Even though ImageEngine acts as a proxy, it is not as intrusive as other proxy-based CDNs. Typically, a proxy CDN optimizes your site on the fly, by changing the HTML, combining and compressing resources, in an attempt to increase speed. Unfortunately, this approach results in loss of editorial and visual control. Especially for mobile, we’ve seen “less than successful” attempts at this before. But by using ImageEngine, alone or in combination with other CDNs, you maintain the editorial and visual control over your imagery. At the same time, your users can enjoy a snappy user experience.
See how much ImageEngine can save your site: