I was wondering if there was really a good reason for CloudFlare to be used? I understand Lemmy.ca has dedicated hardware in a datacenter. Seems odd to pipe all our data through a US company as we are in a trade war.

  • Shadow@lemmy.caM
    link
    fedilink
    English
    arrow-up
    25
    ·
    3 days ago

    Lemmy.ca does about 2tb a week in traffic, 1tb of which is absorbed by Cloudflare caching images / static resources. We do have the server / network capacity to serve directly, but at the cost of reduced performance and higher latency for users. Our server is in Vancouver, if you’re in Montreal you could expect images to load slower for you since they’d no longer be cached locally once one user viewed it. Another advantage is that if we ever do get DDOS’ed, it becomes possible to manage and deal with in a reasonable amount of time + energy.

    I’m open to discussing dropping them, but we don’t pay them anything as we’re just on a free plan. We’re just costing them a little money, we don’t even register our domains through them.

    • Tm12@lemmy.ca
      link
      fedilink
      English
      arrow-up
      8
      ·
      3 days ago

      If you ever decide to explore the market, although American, Fastly has been a big proponent of indie and open web.

    • GameGod@lemmy.ca
      link
      fedilink
      English
      arrow-up
      4
      ·
      3 days ago

      One suggestion to consider for Lemmy.ca is to move your images and other easily-cacheable content to a different domain or subdomain, to give you more flexibility.

      eg. If you serve your static assets off of lemmyimages.ca, then you can have only that behind a CDN, Cloudflare, or some other hosting with DDoS scrubbing. It gives you more flexibility to cope with various situations.

      2tb a week isn’t much (6 mbps on average?). It’s pretty easy to set up nginx as a caching reverse proxy and spin that up on a couple of VPSes, but the annoying bit is you need to anycast your own IP address space in order for it to be functional as a CDN.

      I’m not aware of any Canadian-owned CDNs either… OVH has one but they’re pretty crappy as a company. Beware of whitelabelled CDNs too, even some of the CDNs provided by big cloud hosting companies are actually whitelabelled from another company.

      • Shadow@lemmy.caM
        link
        fedilink
        English
        arrow-up
        7
        ·
        3 days ago

        Yeah we’re at about 10mbit on a 50mbit commit off a 1 gig feed.

        Im starting to dislike nginx these days, varnish is nicer as a caching frontend. We were on ovh before, fuck that.

        If there was a good Canadian cdn I’d be all over it, but there isn’t.

        • GameGod@lemmy.ca
          link
          fedilink
          English
          arrow-up
          4
          ·
          3 days ago

          If I can ramble a bit more - forget the Anycast bit. If you run your own DNS server(s), you can just configure them to respond based on the geographic location of the requester. PowerDNS is pretty easy to set up for this. You could run your own DNS just for the image domain. You basically run PowerDNS authoritative server, set up your zones and the geoip stuff, then slap dnsdist in front of it to be publicly exposed. dnsdist has anti-DDoS features and loadbalancing in it, in case you need it down the road.

          Since it’s just for static images, you can have a higher TTL so you don’t need to worry about distributing the DNS servers. (ie. the DNS lookup might not be super fast since it could go across the country, but it doesn’t matter since that lookup is only going to happen every TTL period on each client, which can be high.)

          • Shadow@lemmy.caM
            link
            fedilink
            English
            arrow-up
            7
            ·
            3 days ago

            With an sre team sure, but there’s a difference between the amount of infra I’m willing to setup vs what I want to maintain and be responsible for on my own. I could set this up, spend money on VPS and have something that’s difficult for anyone else to maintain.

            Or I could just turn on cloudflare.

            I’m am expert with all the tech you mentioned, but I’m trying to avoid a complex setup where if I got hit by a bus my fellow admins would struggle to maintain things.

            • GameGod@lemmy.ca
              link
              fedilink
              English
              arrow-up
              4
              ·
              2 days ago

              I totally understand. It sucks that there’s not really any options in between these two extremes.