Thread overview
[Issue 11274] Use a CDN for dlang.org
Mar 30, 2016
greenify
Dec 11, 2016
Martin Nowak
Dec 11, 2016
Martin Nowak
Dec 11, 2016
Vladimir Panteleev
Dec 11, 2016
greenify
Dec 16, 2020
Vitaly Livshic
June 09, 2015
https://issues.dlang.org/show_bug.cgi?id=11274

Andrei Alexandrescu <andrei@erdani.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|unspecified                 |D2

--
March 30, 2016
https://issues.dlang.org/show_bug.cgi?id=11274

greenify <greeenify@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |greeenify@gmail.com

--- Comment #1 from greenify <greeenify@gmail.com> ---
I can only recommend CloudFare and for such an high-traffic site like dlang.org to use a CDN. I had good experiences with CloudFare in the past.

Bumping this as it can be done in ten minutes and adds a huge value to visitors.

--
December 11, 2016
https://issues.dlang.org/show_bug.cgi?id=11274

--- Comment #2 from Martin Nowak <code@dawg.eu> ---
Caches come with their own problems and they often block for
longer times with 5xx screens, for even smallest backend hickups. So my
experience is that they easily worsen reachability if you're already
having a few issues.

--
December 11, 2016
https://issues.dlang.org/show_bug.cgi?id=11274

Martin Nowak <code@dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |code@dawg.eu,
                   |                            |thecybershadow@gmail.com

--- Comment #3 from Martin Nowak <code@dawg.eu> ---
We could easily do the experiment though, if we know how to objectively monitor
the problems/performance.
Reachability should be the most important metric, followed by search ranking,
and website speed.
For an opionion I'd hope to draw a bit on Vladimir's vast experience for this
(CC).

--
December 11, 2016
https://issues.dlang.org/show_bug.cgi?id=11274

--- Comment #4 from Vladimir Panteleev <thecybershadow@gmail.com> ---
(In reply to Martin Nowak from comment #3)
> For an opionion I'd hope to draw a bit on Vladimir's vast experience for
> this (CC).

Hmm, I wouldn't really say my experience is that vast...

As a webmaster, I do have a website with a lot of hits behind CloudFlare's free plan. I haven't encountered any issues with it, and it pretty much works as advertised.

As a user, CloudFlare hasn't been very nice. While I still used the Opera 12 browser, I would get hit by CloudFlare CAPTCHAs very regularly. Apparently I was being "punished" for having an unusual user-agent. For this reason, I have set CloudFlare's protection setting to "essentially none" on my websites, with no noticeable negative effect.

I think we should consider using a CDN when we actually start feeling that we need to. As far as I know our uptime and response time has been pretty good, and we don't host a lot of assets (large images or such) that would benefit a lot from a CDN. When we do need to, and should we pick CloudFlare, I recommend to also set the protection level to the minimum, as we have no dynamic content to protect and as such the user frustration from false positives is not worth it.

FWIW, it's worth considering that the reason why CloudFlare's free plan is profitable is likely because it grants them a ton of analytics into users' browsing habits, so if user privacy is of any consideration that would be one downside.

--
December 11, 2016
https://issues.dlang.org/show_bug.cgi?id=11274

--- Comment #5 from greenify <greeenify@gmail.com> ---

Adding some thoughts of mine to the discussion:

> As a user, CloudFlare hasn't been very nice. While I still used the Opera 12 browser, I would get hit by CloudFlare CAPTCHAs very regularly. Apparently I was being "punished" for having an unusual user-agent. For this reason, I have set CloudFlare's protection setting to "essentially none" on my websites, with no noticeable negative effect.

Yep I have experienced this as well :/

> I think we should consider using a CDN when we actually start feeling that we need to. As far as I know our uptime and response time has been pretty good, and we don't host a lot of assets (large images or such) that would benefit a lot from a CDN.

We have quite some troubles with it on Travis in terms of reliability and I
think our "fast" pageload could even improved ;-)
In fact if one looks at these page checkers, e.g.

https://tools.pingdom.com/#!/RHG4Q/dlang.org https://gtmetrix.com/reports/dlang.org/5AUbSaw8 https://developers.google.com/speed/pagespeed/insights/?url=dlang.org

There are a couple of other things one could do, e.g:

- leverage browser caching
- optimize images
- serve scaled images
- enable compression
- minify CSS & javascript

> When we do need to, and should we pick CloudFlare, I recommend to also set the protection level to the minimum, as we have no dynamic content to protect and as such the user frustration from false positives is not worth it.

Speaking of no dynamic content: as we have nearly no dynamic content, we could also think about using S3, GitHub Pages (free) or similar for dlang.org. AFAIK GitHub Pages also come with a CDN.

> FWIW, it's worth considering that the reason why CloudFlare's free plan is profitable is likely because it grants them a ton of analytics into users' browsing habits, so if user privacy is of any consideration that would be one downside.

There's also the Amazon CloudFront CDN (and others), but one needs to pay per traffic and IIRC it isn't that cheap.

--
December 16, 2020
https://issues.dlang.org/show_bug.cgi?id=11274

Vitaly Livshic <shiche@yandex.ru> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |shiche@yandex.ru
         Resolution|---                         |INVALID

--