# Exoscale Documentation — CDN

> Exoscale CDN: accelerate asset delivery by caching content across multiple locations so that servers near your users handle their requests.

---

url: https://community.exoscale.com/product/networking/cdn/

---

# CDN

- [Quick Start - CDN](https://community.exoscale.com/product/networking/cdn/quick-start/index.md) - Get started quickly with a guided setup to achieve your first successful use of the service, including the required steps and configuration.
- [Overview - CDN](https://community.exoscale.com/product/networking/cdn/overview/index.md) - Terminology and key features at a glance, learn the core concepts, capabilities, and options of this service before you dive deeper.
- [How-To - CDN](https://community.exoscale.com/product/networking/cdn/how-to/index.md) - Step-by-step guides to configure the service and use specific features, with clear instructions for common tasks and problem solving.
- [Service Boundaries - CDN](https://community.exoscale.com/product/networking/cdn/service-boundaries/index.md) - Service boundaries: quotas, limits, and the guaranteed service levels (SLA) for this product, including key constraints to plan and operate reliably.
- [Reference - CDN](https://community.exoscale.com/product/networking/cdn/reference/index.md) - Reference documentation for API, CLI, and tools, browse comprehensive details, parameters, commands, and integration notes.

---

url: https://community.exoscale.com/product/networking/cdn/quick-start/

---

# Quick Start - CDN



Our CDN service, built in cooperation with [Ducksify](https://ducksify.com/), provides a simple way to distribute your assets globally by leveraging the Akamai delivery network to offer world-class performance.

You can use the CDN service to make content that is hosted our S3-compatible Simple Object Storage (or SOS) service available through our CDN endpoint.

## Subscribing to the CDN Service
To subscribe to Exoscale CDN, request the service activation on one or more buckets in the SOS interface. Our Support team processes CDN service activation requests during regular business hours.

After your activation is confirmed, your content is typically available through the CDN endpoint after about an hour.

## Accessing Content through the CDN Network
After activation, the content will be available on the following endpoint: `https://{bucket_name}.sos-{zone}.exoscale-cdn.com`.

| Zone | Endpoint |
| --------- | ---------------------------------------------- |
| AT-VIE1 | https://bucket_name.sos-at-vie-1.exoscale-cdn.com |
| AT-VIE2 | https://bucket_name.sos-at-vie-2.exoscale-cdn.com |
| BG-SOF1 | https://bucket_name.sos-bg-sof-1.exoscale-cdn.com |
| CH-GVA2 | https://bucket_name.sos-ch-gva-2.exoscale-cdn.com |
| CH-DK2 | https://bucket_name.sos-ch-dk-2.exoscale-cdn.com |
| DE-FRA1 | https://bucket_name.sos-de-fra-1.exoscale-cdn.com |
| DE-MUC1 | https://bucket_name.sos-de-muc-1.exoscale-cdn.com |

## Cancelling the Service
The CDN service is only charged based on the volume of traffic sent through the CDN endpoint. An active but unused configuration
will not produce any charges if there is no traffic. If you want to completely disable the CDN service, you can open a support
ticket with a request to deactivate.

---

url: https://community.exoscale.com/product/networking/cdn/overview/

---

# Overview - CDN



Enhance user experience with a fast and cost-effective CDN that accelerates
asset delivery, caches content across multiple locations, and ensures nearby
servers handle user requests. This CDN offers high availability to meet growing
demands, employing modern protocols and a robust global infrastructure for
optimal performance and security. Leveraging the Akamai Intelligent Platform's
extensive reach, content is delivered quickly and securely worldwide.
Ducksify's partnership with Akamai streamlines deployment, offering an
efficient and consolidated solution for edge delivery.


## Terminology

CDN (Content Delivery Network)
: A geographically distributed network of servers designed to deliver content
  efficiently to users based on their location.

Edge Server
: A server positioned close to end users that caches and delivers content,
  significantly reducing latency.

Origin Server
: The primary server where the original version of your content is stored and
  managed.

Cache
: Content temporarily stored on edge servers to accelerate delivery and reduce
  the load on the origin server.

Caching
: The process of storing content closer to the user to enhance performance and
  speed up access times.

Hit / Miss
: A *Cache Hit* occurs when content is found in the CDN cache, allowing for
  faster delivery. A *Cache Miss* occurs when content is not found in the CDN
  cache and must be retrieved from the origin server.

TTL (Time To Live)
: The duration for which cached content remains valid before it needs to be
  refreshed or revalidated.

PoP (Point of Presence)
: A physical data center location where CDN servers are deployed to improve
  content distribution.

Purge
: The act of removing content from the CDN cache, typically to force an update
  to the cached copy.

Latency
: The delay between a user's content request and the actual delivery of that
  content.

Throughput
: The volume of data transmitted over a network within a specified time frame,
  often used as a measure of network performance.

Request Routing
: The process of directing a user's request to the nearest or most optimal edge
  server to ensure efficient content delivery.


## Features

This CDN solution ensures 100% content delivery, boosts download completion
rates and supports modern protocols like HTTP/2 and IPv6 for enhanced
performance. QUIC support overcomes delivery challenges and enriches user
experiences. The Akamai Intelligent Platform delivers rapid assets from a vast
global server network. At the same time, Ducksify integration offers
a seamless, efficient edge delivery service.

Get Started Quickly
: Deploy CDN in front of your S3 compatible Object Storage buckets from the
  same interface you are already using.

Volume Based Pricing
: Zero fixed fees, no commitment - just a simple, three-tier pricing model.
  Flat rates across regions worldwide.

Leveraging Akamai Network
: Highly distributed CDN with more than 4,170 locations in 134 countries around
  the world

World-class Delivery Availability
: Align your brand with service predictability amidst increasing consumer
  expectations. Our CDN will serve your content 100% of the time.

Improve Download Completion Rate__
: Through better, reliable, and secure performance.

Modern Protocol Support
: Ability to leverage HTTP/2 to provide better efficiency, performance and
  security, as well as IPv6 for traffic routing across the internet.

QUIC Support
: Address the fundamental challenges of delivery over the internet to create
  a more engaging experience for all end users.

Leveraging the Akamai Intelligent Platform
: Instantly serve your assets from the most pervasive, highly-distributed CDN
  with approximately 300,000 servers in 134 countries and nearly 1,400 networks
  around the world.

Powered by Ducksify
: We have partnered with the CDN experts from Ducksify, member of the Akamai
  NetAlliance Partner network, to provide you with a simple, integrated service
  to the Akamai Edge Delivery Network.

---

url: https://community.exoscale.com/product/networking/cdn/how-to/

---

# How-To - CDN

Step-by-step guides to configure the service and use specific features, with clear instructions for common tasks and problem solving.

- [Configure Cache Control](https://community.exoscale.com/product/networking/cdn/how-to/cache-control/index.md) - Configure CDN cache behavior with Cache-Control and Expires headers to set custom TTLs, improve delivery, and reduce origin load.
- [Manage CDN Cache](https://community.exoscale.com/product/networking/cdn/how-to/cache-mgmt/index.md) - Manage CDN cache with versioned asset names and custom TTLs using Cache-Control or Expires headers to deliver updates without purging.

---

url: https://community.exoscale.com/product/networking/cdn/how-to/cache-control/

---

# Configure Cache Control

You can set `expires` or `cache-control` headers on individual SOS objects to customize the CDN cache TTL beyond the 7-day default.

## Understanding Cache-Control max-age

The `cache-control: max-age` directive behaves like a TTL for cached objects. It tells the CDN how long an object is considered fresh. During that time, the cached copy can be re-served without contacting the origin. Once expired, the cache may revalidate with the origin or re-download the resource, depending on the directives.

## Using Cache-Control

Examples of cache-control settings:

**1-hour TTL:**
```
Cache-Control: public, max-age=3600
```

**72-hour TTL:**
```
Cache-Control: public, max-age=259200
```

**7-day TTL:**
```
Cache-Control: public, max-age=604800
```

The `max-age` value specifies how long (in seconds) a response remains fresh after generation. The `public` directive allows caching in shared caches like CDNs.

## Using Expires

Alternatively, you can set a specific expiration date:
```
Expires: Wed, 21 Oct 2023 07:28:00 GMT
```

## Best Practices

- Use longer `max-age` values for static assets that don't change frequently
- Consider using versioned URLs (e.g., `/styles.v2.css`) for assets that may need updates
- The CDN will respect these headers to determine caching behavior

For more detailed information on HTTP caching headers, see the [MDN Cache-Control documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#response_directives).

---

url: https://community.exoscale.com/product/networking/cdn/how-to/cache-mgmt/

---

# Manage CDN Cache

The current iteration of the CDN service does not provide a simple way to manually clear the CDN cache. By default, each asset accessed through a VPN endpoint will be cached with a TTL (Time-To-Live) of 7 days when it is first accessed. The TTL can be customized by setting the `expires` or `cache-control` headers of the source SOS object.

At 90% of the TTL, the object will be re-downloaded and the CDN cache will be updated with the new version if the object has been modified.

If you need more control over your CDN cache, you have two possible strategies you can use:

- Use versioning in your file naming scheme
- Use a short TTL

## Versioning

If you use a version naming scheme, you can serve different versions of your content while ensuring you can show your user new content before the cache expires.

There are 3 different strategies that you can use for a version naming scheme:

- Use a query string: `myfile.txt?v=101`
- Add the version in the filename: `myfile.v101.txt`
- Use a folder naming tree: `/v101/myfile.txt`


## Cache Control 

You can set `expires` or `cache-control` on individual objects to indicate to the CDN provider that you want to use a different TTL other than the 7-day default.

`Cache-Control` can for example be used to set a 72-hour TTL:


        Cache-Control: public, max-age=259200


Or you can use `Expires` to set the set date at which the content should be considered stale.


        Expires: Wed, 21 Oct 2023 07:28:00 GMT


For detailed step-by-step instructions on setting cache headers, see our [Cache Control How-To guide](../../how-to/cache-control/).

You can read more about HTTP headers on the MDN documentation:

- [Cache-Control](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control)
- [Expires](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expires)

---

url: https://community.exoscale.com/product/networking/cdn/service-boundaries/

---

# Service Boundaries - CDN

- [Limits and Quotas - CDN](https://community.exoscale.com/product/networking/cdn/service-boundaries/limits-and-quotas/index.md) - CDN Limitations and Quotas
- [SLA - CDN](https://community.exoscale.com/product/networking/cdn/service-boundaries/sla/index.md) - CDN Service Level Agreement

- [Pricing ↗︎](https://www.exoscale.com/pricing/#cdn)

---

url: https://community.exoscale.com/product/networking/cdn/service-boundaries/limits-and-quotas/

---

# Limits and Quotas - CDN

## Limits

The current service iteration has the following limitations:

- The source content must be hosted on the Exoscale SOS service.
- Using a vanity domain for the CDN endpoint is not supported.
- The CDN cache cannot be explicitly purged - other strategies must be used to manage the cache lifecycle.
- Buckets with dots in their names cannot be served through the CDN.



## Quotas

| Usage | Quota |
| -------------------------------------------------------- | ------------------------ |
| Maximum number of CDNs | aligned with buckets |


## Availability
CDN is available in all zones.

---

url: https://community.exoscale.com/product/networking/cdn/service-boundaries/sla/

---

# SLA - CDN



These product-specific SLAs define the Service Availability Target for Content Delivery Network (CDN). It applies to each Client using the Service. Capitalized terms used herein but not defined herein shall have the meanings set forth in the Exoscale Terms and Conditions or EUSA, whichever applies.

## SLA Definitions
| Metric | Target | Definition |
| -------- | -------- | ------------ |
| Service Availability for CDN | >= 100% Monthly Uptime Percentage | The percentage of time in a calendar month that the service is available for external connectivity. |


## Product specifications
For detailed product features, technical specifications, and tutorials, please refer to the [Exoscale documentation](https://community.exoscale.com/product/networking/cdn/index.md).


## Client Responsibilities
While Exoscale is responsible for operating and maintaining the CDN service, Clients remain responsible for the following:

- Origin server configuration and availability
- Content caching policies and cache invalidation management
- SSL/TLS certificate management for custom domains
- Access control settings for cached content

For a complete explanation of the shared responsibility framework between Exoscale and Clients, please see the [Exoscale Shared Responsibility Model documentation](https://community.exoscale.com/platform/compliance/shared-responsability-model/index.md).


## Exclusions
For the complete list of SLA exclusions, please refer to the [General Exoscale Terms and Conditions](https://www.exoscale.com/terms/).


## Retribution
The standard retribution and SLA credit schemes apply for this product as described under [General Exoscale Terms and Conditions](https://www.exoscale.com/terms/) or [EUSA](https://www.exoscale.com/eusa/) whichever applies. In the event that the Monthly Uptime Percentage for Exoscale CDN falls below the committed Service Level Objective, the Client will be eligible for service credits as follows:

| Monthly Uptime Percentage | Service Credit Percentage of Monthly Service Fees for Affected Resources |
| -------- | -------- |
| from 99.95% to 98.3% | 50% |
| below 98.3% | 100% |

### Claim Service Credit

To request a service credit, refer to the Service Unavailability Credit section of the [Exoscale Terms and Conditions](https://www.exoscale.com/terms/) or the [EUSA](https://www.exoscale.com/eusa/), whichever applies.

---

url: https://community.exoscale.com/product/networking/cdn/reference/

---

# Reference - CDN



We’ve partnered with the CDN experts at Ducksify, a member of the Akamai NetAlliance Partner Network, to offer you seamless access to the Akamai Edge Delivery Network. This integration lets you leverage powerful CDN capabilities directly through the tools you already use to manage your Exoscale deployments—no additional setup required.

Learn more about the Exoscale CDN Service in this [blog post](https://www.exoscale.com/syslog/content-delivery-network-service-release/).
