Skip to main content

Choosing a CDN provider

There are a lot more CDN providers than there are cloud service providers (though most of the cloud services providers also offer CDNs). For an art website in particular, but also for any site hosting large assets like big images or videos, which CDN you choose is going to have a major impact on the costs of your website, as you will be charged for the amount of bandwidth you use.

CDN Market Players

The share of the CDN market held by companies can be bit confusing: I'd suggest reading this article to learn more about it: https://blog.intricately.com/cdn-industry-trends-market-share-customer-size. Here's the graphs from that article and some key takeaways.

image.png

image.png

As can be seen, the major players are CloudFlare, AWS (CloudFront), and Akamai. For using a CDN to serve static content - I would personally recommend none of these. Explanation of why is later on in this article, but comes down to cost and pricing structure. The above are better served to be used as security-focused CDNs.

Choosing a CDN provider for security purposes

Generally speaking, the bandwidth used by your security-focused CDN is going to be far less than your static content hosting CDN. As a result, the bandwidth cost is less of a factor, and more relevant is the security features and reliability offered by the provider.

Configuration

Some CDN providers offer fairly simple functionality ("simple" here still being fairly advanced), while others have huge amounts of configuration you can apply to your CDN. Depending on your use case, and what you know you need, this can rule out some providers if you need specific things available.

WAF power and features

The bigger players who specialise in security, or who have very advanced WAF features (i.e. Cloudflare and AWS) have extremely powerful, well tested WAF offerings that have a lot of options for securing your website that have been around for a long time. For obvious reasons, this is a crucial consideration.

Reliability

Similar to the above point, knowing you can trust the CDN provider to have their side of the security picture sorted correctly is very important. By reliability I don't mean uptime specifically, but rather that the provider has a well established, tested service that isn't known for errors or oversights. It's one of the reasons that the dominant players in this market are all long-established companies that have been doing this for a while.

Choosing a CDN provider for static content delivery

As security is (as much as one could say) less of a concern here, price and configuration are the main factors when choosing a CDN for static content. Depending on the use case, speed/latency may also be a consideration.

Configuration

If you need a lot of customisation or programmatic options, some CDNs have image resizing software built into them, though it isn't always efficient or configurable. Some have much better APIs than others, which is a consideration if you need to make a lot of programmatic changes to what your CDN is hosting.

Price

The general way CDNs are priced is that you are charged per GB you send to users; i.e. all the bandwidth used to send images and other files to your website's visitors.

Note that the bandwith price is usually different for each world 'region': most CDNs let you choose which regions your CDN will serve traffic from, to let you control the costs somewhat.

There is also frequently a price set for each request made to the CDN for a particular resource, e.g. an image. This number is naturally going to be huge, and so these requests are often priced in big units, e.g. per 10,000 requests or such like. For a lot of websites, this is going to be the overriding consideration.

CDN costs vary massively between providers, and for a website hosting large assets like an art website, CDN costs are going to be a very significant part of your outgoings, and likely the biggest.

For security CDNs, this isn't a big deal as most of the larger traffic you send to users (i.e. images, videos) etc is not being sent through that.

Speed/Latency

The speed at which a CDN responds to requests influences how fast items on your pages that are served by that CDN will load for users. For anything other than absolute top-end websites, this isn't normally a major consideration, as a difference of 10-20ms is hardly going to be significant vs other website issues, but for things that absolutely must load fast, it's worth looking at.

CDN providers for security: a brief overview

This is not an exhaustive list, but a basic overview of some CDN providers at the time of writing. 

Bear in mind that this just covers the CDN costs; the costs of the associated WAF are usually separate.

Amazon CloudFront

Part of AWS. Cloudfront falls squarely into the "powerful but expensive" category; it has a ton of configuration potential, extremely good reliability and speed, and AWS WAF is a very powerful WAF option that integrates directly with CloudFront.

Here's part of their pricing page as of Dec 8th 2023:

image.png

The important price of note here is that bandwidth per GB to the cheapest regions, which is almost always US & EU, is $0.085/GB. This cost can be offset a bit by using AWS' CloudFront savings bundle (which requires you to pay for 12 months' usage in advance, effectively letting you get a discount on your bill so long as you know you will use at least that much bandwidth), which also gives an extra discount on WAF at the same time.

Fastly

Fastly is another "powerful but expensive" provider. Pricing from their website on 8th Dec 2023:

image.png

Note that's $0.12, not $0.012! (i.e. around 40% more expensive than CloudFront at small volumes, bandwidth-wise).

CloudFlare

image.png

CloudFlare is rather unique among CDN providers for having a 'free plan' which doesn't cost anything. However, this can be something of a misnomer: although it is genuinely free, it is not free without limit. It's intended for small websites, not business websites, and CloudFlare reserves the right to restrict or remove a website from their CDN that e.g. uses the free plan for business use.

This is not deception on CloudFlare's part, but more a misunderstanding of some people thinking that the CloudFlare CDN is free for any use case when it isn't. It is primarily for use as a security CDN, not a static content one. You can read an update they made in mid-2023 about this here: https://blog.cloudflare.com/updated-tos/

The point here is that, for a business use case like an art website, the free plan is not going to be something you can use for static content purposes. You would have to use the Business or Enterprise plans ($200 per month, or a custom quote, as of the time of writing), which may end up being more expensive than another provider depending on how much usage you need; make sure you know exactly what is and is not offered before deciding to use Cloudflare as a CDN, as it is not as simple to estimate the costs as it might seem.

CDN providers for static content: a brief overview

There's quite a few CDN providers for static content. There's a noticeable drop in the price per GB of bandwidth, as these CDN providers are not focused as much on security and more on serving large amounts of content at a lower price.

DigitalOcean Spaces

image.png

DigitalOcean's static content CDN is built into their "Spaces" product, which is their S3-compatible cloud storage. In other words, you need to be using DigitalOcean's cloud storage to use their CDN service.

The price is $5/month for Spaces access, and then you have 1TB of free outbound data bandwidth per month, with anything above that being $0.01/GB (i.e. ~$10/TB).

BunnyCDN

Bunny is one of the CDN providers that have a "volume" option. This is basically a tradeoff: the volume option has fewer "Points of Presence" (i.e. less servers in the CDN to deliver content), but in return, has a significantly lower price.

image.png

image.png

The standard Bunny CDN has the same data bandwidth cost as Spaces ($0.01/GB). The volume CDN, however, is half that price - making it an ideal choice for e.g. hosting videos, large files, or even for images.

Bear in mind that using the volume CDN means higher latency (as there are fewer PoPs, so a customer is likely to be further away geographically from the closest server that can deliver content to them). This is rarely important for big files, but for hosting e.g. images, it might be detrimental to a user's experience of your website if the latency is too high.

BlazingCDN

image.png

BlazingCDN has the same price as BunnyCDN's volume option ($5/TB or $0.005/GB), and slightly more PoPs (25+, at the time of writing). The larger plans have significant savings, providing you are serving a lot of content; that said, 25TB is only $125 a month worth of bandwidth on the normal plan, so being able to get a decent discount at that point is nice.