A
Content Delivery Network (CDN) is, in terms of the primary service it offers, a
set of cache servers, placed at various strategic geographical points and
containing copies of the same content for distribution to users located nearby.
When
a user accesses a site without a CDN, they send queries to the server that
hosts the site, called the origin server, which may be geographically remote
from them. The request then goes through many Internet routes which can be lengthy
depending on the distance to be travelled, slow and possibly congested.
The
principle of a CDN is to act as an intermediary between users and the host and
to issue the content from servers placed in various locations across the world,
nearest to the users.
For the user, the CDN will behave just as the website would directly. For the host site, it will also behave more or less as a web user would. This usually allows you to implements a CDN solution without touching the host site.
The
turnover from online trade via mobile phones – M-commerce – reached 6.4 billion
euro in 2016 in Europe, an increase of 40% compared to 2014.
In
China, the mobile has already overtaken the laptop with more than half of
Internet users browsing using a smartphone. Russia is not far behind.
Despite
a promising market, response times are still unsatisfactory and many mobile
sites are struggling to meet demand.
According
to the company stardust, 69% of respondents in France identify the poor
performance of mobile sites (loading time, browsing not adapted to device,
etc.) as a brake on purchase. This is properly optimized for mobile devices.
CDN operators have developed several services to respond to the demand for improved website distribution:
Historically, the first service offered by CDNs was the caching of heavy elements (images, CSS, Javascript, etc.), qualified as (static) because they are identical for all Internet users browsing them.
Then came the acceleration of (dynamic) content, specific to each user (an order basket, for example).
On demand or (live) streaming services were then developed with the increasingly widespread use of video.
We then saw the development of Front End Optimization (FEO) services to optimize the pages on the fly and reduce their weight.
Finally, more recently, the demand for enhanced security has been an essential component of CDN services, providing better protection for sites against various types of attack (DDoS, WAF, etc.).
Figure: The acceleration of dynamic content allows you to improve the performance of content from a site’s database
No
CDN delivery network can guarantee maximum performance anywhere in the world
and no network can guarantee the best response times whatever the time of day.
The
Concept of territoriality is essential in CDN.
We will see, in the next chapter, that the performance of a CDN operator is closely linked to its points of presence and its agreements with other operators to ensure the relay of data. However, no operator currently provides optimal cover over 100% of global territory.
The performance of CDN operators varies depending on the time of the day. Due to the potential congestion of some sections of the route used, no operator can guarantee the linear nature of its traffic.
Figure 1: Loading time on various operators over time
These issues encourage the administrators responsible for the delivery quality of a site to have more granular real-time control of CDN network operation and of operator choice based on purpose and needs.
But
too much information makes human control impossible and some publishers have
developed tools automating and pooling control over the local operation of
major CDN networks.
The
operational principle of this kind of service is simple: a set of voluntary
sites automatically send the name of the CDN network used, the relay server
used on this network and the response time obtained when a user visits the
pages of these sites. This collection is carried out asynchronously in order
not to penalize the browsing of site users. This data provides a real-time
report on the operational status of CDN networks.
The
data thus collected enables the use of multiple CDNs by directing user requests
via the most efficient network at the time of the request.
With streaming, an audiovisual stream is injected onto a publishing point on the origin server of the CDN and immediately replicated to the relay servers. CDNs that support live streaming must support the various streaming formats used: Apple HLS, MPEG-Dash (all publishers except Apple) and potentially older formats such as RTMP, HDS, Flash (Adobe) or Windows Media (Microsoft).
The development of streaming in HTTP has allowed streaming services to become more closely aligned with caching services which are cheaper: this technology makes it possible to segment the continuous stream and download each segment as a traditional file using the HTTP protocol, thus avoiding the installation of dedicated streaming software on each relay server.
Hybrid technologies combining traditional CDN and peer-to-peer delivery (P2P) now help solve the cost and quality-of-service issues associated with video broadcasting.
New peer-to-peer technologies, based on the latest web standards such as WebRTC and HTML5, meet the security, reliability and quality requirement imposed by the suppliers of premium content.
A peer-to-peer solution uses the devices of users viewing the same content as relays. In a hybrid model, the selection is done dynamically – either from the CDN, or from peers- depending on the speed and the availability of video segments.
Peer-to-peer distribution allows video platforms to offer a better quality of service while optimizing the capacity of their servers and their bandwidth cost.
This system is particularly effective for improving the large-scale distribution of both live and on-demand content.
These solutions are complementary to conventional CDN services.