What are thoughts on putting an instance behind a CDN?
It works. End of thoughts.
See the bottom couple images.
I don't do it, but for big instances like lemmy.world I'm sure it saves them a lot of money and improves performance drastically.
Serving data from multiple locations with the current lemmy implementation is really hard, and bandwidth is really expensive. Even with an enterprise account, Cloudflare saves us a ton of money at work.
Like sure, you can self host all of that but it's usually quite expensive.
Just reducing the accesses to the pict-rs S3 bucket saves a ton of money, even if you end up using CloudFront which is also an AWS product.
What types of read calls would you put behind a CDN in lemmy?
Probably everything that's static like images, JavaScript, css
Just have a cache invalidation strategy.
Yea, ideally all these things should have pretty aggressive caching around them, I suppose a CDN could help lower their resource costs even more… but I think the vast majority of work will be retrieving dynamic data like posts and comments.
Yeah. Serving static assets is not a big deal with a decent web server. You can get servers with unmetered transfer and the CPU and memory for static resources is tiny. Main reason to use a CDN is latency.
IF the static assets like images and video are being served by the application from other network sources or out of a database then a caching CDN would be a big win for sure.
Why would you put it behind cdn? Set up nginx caching and you'll be fine.