NixOS Foundation's Financial Summary: A Transparent Look into 2022

Some info on our AWS costs (primarily cache.nixos.org and releases.nixos.org):

  • The S3 bucket for cache.nixos.org stores 667M objects, with 107 TiB in standard storage and 318 TiB in infrequent access storage, so 425 TiB in total.

  • The S3 bucket for nix-releases (i.e. https://releases.nixos.org) is 25.1 TiB (mostly ISO images).

  • The S3 storage costs for our sponsor are about $5500 per month, after a $2300 enterprise discount.

  • The S3 transfer costs are about $900 per month, which is mostly from 29.5 TiB of traffic between S3 and Fastly for cache.nixos.org, and 2.6 TiB for releases.nixos.org. (This also appears to have a discount since the costs are $0.03 per GiB.)

  • Our Fastly traffic in April was 1508 TiB, so the CDN is amazingly effective.

  • The runtime closure of all non-beta NixOS releases (i.e. the store paths reachable from the store-paths.xz files in Channels for NixOS project(s)) is 13M store paths, 27.1 TiB. So garbage-collecting cache.nixos.org to only keep NixOS releases would shrink it to 6.3% of its current size.

    Note that this doesn’t include build-time-only dependencies like source tarballs.

  • The runtime closure of all non-beta NixOS releases and all Nixpkgs releases is 51M store paths, 91.4 TiB, so about 21% of the bucket. Unfortunately Nixpkgs has no stable releases, they’re all marked as “pre”.

    So we can reduce storage costs by almost 80% by GCing everything that isn’t reachable from the store-paths.xz files on releases.nixos.org.

17 Likes