I thought I’d open a new topic for this CDN discussion so we don’t take Rugyada’s landing page thread way off topic.
How I calculated this was:
number of visitors this month (12,000) * 1.5 = 18,000 (people that don’t have JavaScript and / or people with Do Not Track enabled)
18,000 * the full size of Rugyada’s landing page including third party resources = 8.1GB
8.1GB * 1.5 = 12GB
At each point I added some. Then I used their pricing calculators. For KeyCDN for this much traffic is $0.48 and for CacheFly their pricing varies by region, but is around $1.40.
They’re push or pull depending which works best for us. I used push to create the test pages so I was testing only their own capabilities and CacheFly was consistently over 2x faster. For the duration of the free trial I put just the images on my website here through CacheFly, where they used to be on the Cloudflare free plan. Page loads have dropped from ~1.7 seconds to consistently less than one and I haven’t even moved the static assets!
Here’s the pros and cons of each provider for our landing page;
KeyCDN advantages:
lets us use our own certificate.
we can add another zone to the same account if we decide to in future.
could run the entire website through it as we can use our own certificate and domain.
is prepaid.
KeyCDN disadvantages:
was consistently slower from my location.
has no dataceters in South America and fewer on other continents too.
if we use our own certificate we have to trust them with it.
CacheFly advantages:
“ludicrous speed”
~2.5x faster than KeyCDN from my location, especially loading the large gifs I had put on my test page.
monthly billing, no need to deposit a large sum then find out we don’t want it anymore.
has multiple datacenters in South America and more everywhere else too.
CacheFly disadvantages:
have to run the actual page on our server and load assets from the CF domain, as they don’t support custom SSL certificates.
their control panel is quite confusing.
Realistically we’re not going to trust KeyCDN with the certificate for our entire domain, though, so they’re on basically even footing. I’m pretty keen to give CacheFly a spin. If we don’t like it or we get a lot more traffic through it than I anticipated, we can always switch to something else after the 2 week free trial. What do the rest of you think?
I’m not sure to get how much cachefly would cost, technically it seems interesting. BTW did you see some improvement with discourse CDN option enabled?
@raphael It’s still on the slower side as websites go, but Angular.js isn’t known for its speed, and nor is Discourse .
I’ve been using both providers in production on my anime site over the past couple of days, which is very image heavy (taking advantage of their free trials and getting a feel for how they work) and picking a CDN is nowhere near as simple as I thought. KeyCDN is cheap and flexible, but you have to buy a massive 625GB of data to get started, which expires after a year. CacheFly is fast and has no minimum, but is way more expensive and about as flexible as a boulder.
All the literature about CDNs online makes it sound like it’s a one hour job to get going on a CDN, but either way, you have to give up something.
In the end from my trials of those two, I don’t think either of them are going to work for us . Cachefly just isn’t flexible enough, while KeyCDN is fast, yet has very slow DNS servers and very very low DNS TTLs, rendering it all but pointless. However, there are still two other options we could explore.
Firstly, fastly.com seems to offer cheap/free CDN services to open source software societies according to this page https://www.fastly.com/about/open-source. If we could strike up a deal with them, we might be able to also roll them out to this Discourse instance and parts of our infrastructure directly accessed in our distro as well, also speeding them up, which would be a huge plus for everyone. Fastly is powered by Varnish and lets us upload our own Varnish config files, so I’m sure it’d be plenty flexible.
Also, there’s Amazon CloudFront, which offers 50GB across 2.000.000 monthly free requests for a year on a trial account. I’m sure that’d do us fine for a long time.