If your application allows for it, I also recommend checking out Protomaps / PMTiles. Brandon has some insanely cool work making a tile format and related infrastructure that scales nicely.
I wanted to, but I was unable to get Protomaps working in our application, unfortunately. I'm not much of a js person (or a dev) and it was a bigger change than I could apparently handle in our rails app. Actually, thinking back on it, I think the main issue - or at least the one immediately presenting itself - was a CORS problem (a friend was hosting the PMTiles in their DO Spaces). And then I ran out of patience.
Yeah there are some pretty specific requirements for the server hosting the PMtiles that weren't well documented when I last looked at it.