Today we are happy to make our Content Delivery Network (CDN) integrated service generally available.

Our CDN service allows users to quickly deploy a CDN configuration in front of their Simple Object Storage bucket, leveraging the unprecedented scale of the Akamai Platform.

With approximately 300,000 servers in 136 countries and nearly 1,600 networks around the world, over 90% of the Internet users are a single network hop away from an Akamai Edge Server.

The service launches in all Exoscale zones globally and comes with the following features:

  • Seamless integration with new or existing buckets
  • Dual Stack (IPv4/IPv6) enabled
  • HTTP/2 & QUIC Support
  • Controllable caching behaviour
  • 100% SLA Uptime

Exoscale CDN

What is a Content Delivery Network (CDN)?

The main goal of a CDN is to lower latency by reducing the physical distance that an HTTP request has to travel.

For example, a Canadian visitor consuming content hosted in a SOS bucket in Switzerland will experience poor loading times simply because their request has to travel back and forth across the Atlantic.

To circumvent this, a CDN will store a cached version of your assets in multiple geographical locations around the world, known as “points of presence” (PoPs). These PoPs will contain their own caching servers and will then be responsible for delivering your assets directly within the user’s geographical area.

CDN 101

Here is a small glossary of terms to help understand the whole concept.

Terms Description
Origin Refers to the Exoscale SOS bucket hosting your content
Edge server An optimally located Akamai server close to your end-users
Cached asset A pre-downloaded copy of an asset stored on the CDN platform
Offload Amount of traffic directly served by the CDN rather than from the origin
Tiered Distribution Additional mid tier of servers close to your origin server to maximize offload

And a (greatly simplified) small reminder of the steps of an HTTP request:

  1. DNS resolution
  2. TCP connection
  3. TLS handshake
  4. HTTP request

Keeping in mind that the main goal is to reduce latency, our CDN service is relying on a DNS-based dynamic mapping system, which directs each and every user to an optimally located Edge server.

Having a detailed look at the DNS resolution, we see that we are being mapped to 2 IPs belonging to the Akamai Platform, with a short-lived TTL, allowing a potential quick remapping to other Edge Servers if network conditions change.

$ dig exocdn-bench.sos-ch-gva-2.exoscale-cdn.com
[...]
;; ANSWER SECTION:
exocdn-bench.sos-ch-gva-2.exoscale-cdn.com. 21579 IN CNAME edgeduck_sos-ch-gva-2.edgekey.net.
edgeduck_sos-ch-gva-2.edgekey.net. 21579 IN CNAME e39303.dscd.akamaiedge.net.
e39303.dscd.akamaiedge.net. 20  IN  A   92.122.154.70
e39303.dscd.akamaiedge.net. 20  IN  A   92.122.154.119
[...]

Note that IPv6-ready clients (ie: mobile devices) are transparently mapped to IPv6 Edge servers, removing the overhead of NAT64 at carrier level:

$ dig AAAA exocdn-bench.sos-ch-gva-2.exoscale-cdn.com
[...]
;; ANSWER SECTION:
exocdn-bench.sos-ch-gva-2.exoscale-cdn.com. 21372 IN CNAME edgeduck_sos-ch-gva-2.edgekey.net.
edgeduck_sos-ch-gva-2.edgekey.net. 21372 IN CNAME e39303.dscd.akamaiedge.net.
e39303.dscd.akamaiedge.net. 20  IN  AAAA    2a02:26f0:3000::170a:f973
e39303.dscd.akamaiedge.net. 20  IN  AAAA    2a02:26f0:3000::170a:f962
[...]

Now that we’ve been mapped to our optimally located Edge server we can proceed with the rest of the sequence (TCP connection, TLS handshake & HTTP request), and retrieve our object from the Edge server which serves a cached copy. Should this object be unavailable on the CDN platform (ie: fresh object never requested before, or expired), the request is forwarded to the Origin and the response is cached for subsequent users / requests, offloading traffic from the Origin.

Benefits of the Exoscale CDN Service

Many CDN networks exist on the market, however no one competes with Akamai in term of scale, reliability and extensibility.

Now that we’ve explained the basics & the theory of CDN let’s see the benefits of serving your assets through the CDN instead of directly from your SOS buckets with a simple benchmark scenario:

  • We’ve set up a bucket on CH-GVA-2 Zone.
  • We’ve provisioned a CDN configuration fronting our bucket.
  • Measured the network latency to reach both the Origin & the assigned Edge servers from different test locations.
  • Measured the TTFB (Time To First Byte) on both the Origin & Edge servers from the same test locations. (TTFB can be obtained using curl with the -w "%{time_starttransfer}" option)

Here are the 95th percentiles, calculated over 100 runs:

Latency

Location Origin (sos-ch-gva-2.exo.io) CDN Edge Server
Paris (FR) 13.1 ms 2.26 ms
Frankfurt (DE) 19.7 ms 5.83 ms
New York (US) 86.8 ms 1.99 ms

latency comparison graph

Time To First Byte

Location Origin (sos-ch-gva-2.exo.io) CDN Edge Server
Paris (FR) 66.883 ms 22.81 ms
Frankfurt (DE) 98.041 ms 41.084 ms
New York (US) 300.2 ms 22.248 ms

TTFB comparison graph

Simple Pricing

Exoscale CDN service launches with a simple 3-tier pricing structure, across all the regions, with no hidden costs or complicated calculation vs most other cloud providers.

Get Started!

We have partnered with the CDN experts from Ducksify, member of the Akamai NetAlliance Partner network to provide you with a turn-key access to Akamai Edge Delivery Network, through the tools you are already using to manage your Exoscale deployments.

You can start to use the CDN service today through our admin portal, by requesting activation.

We will continue adding support for additional tools and integrations, stay tuned!