3 ms·
I would split it in pieces and create a DIY CDN (like lots of Linux distros have). From the numbers I've seen in the article, the big problem is the storage, no
by tecleandor 3y ago
I would split it in pieces and create a DIY CDN (like lots of Linux distros have). From the numbers I've seen in the article, the big problem is the storage, not the transfer, although they say that the space can be reduce by garbage collecting the less used caches (although not ideal).
Note that they are using Fastly as CDN in the front, but that's not important for them (monetary wise at least). The big part of the bill is just the storage part.
With little detail about their data I would chose one of these architectures...
Debian (or other distro) mirror style:
- Split the cache storage in pieces (by architecture, release or other categories)...
- Deploy a bunch (10-30) of cheap servers in affordable hosting around the world. The most popular data is distributed in more servers (for example, the x86_64 build caches for the latest version of the packages)
- Get some people to volunteer with small mirrors
CDN style:
- Get a couple or three medium/big sized (in disk, not CPU) servers for storing all the cache, for example, with Minio, so they don't even have to stop using S3 storage libraries.
And then either:
- Keep using Fastly
or
- Distribute tiny servers with Varnish or the like
- Get some people to volunteer tiny edge cache servers
Some weeks ago this was on the front page:
- Serving 90TB/Day of Linux Updates from Thin Clients: https://news.ycombinator.com/item?id=35883053 https://news.ycombinator.com/item?id=35883053
- The scripts they use: https://github.com/PhirePhly/micromirrors https://github.com/PhirePhly/micromirrors