Comparing object storage for backups, the storage price per GB is a distraction — backup buckets are written nightly and read almost never. The bill that matters arrives on restore day, when you download everything at once, and that’s egress.
On S3, egress runs roughly $0.09/GB — restoring a few hundred GB after a dead machine is a $20–50 surprise stapled to an already bad day. On Cloudflare R2, egress is $0. The restore that justifies the backup system’s existence is free precisely when you need it.
R2 is S3-compatible, so tools like restic point at it with nothing but an endpoint URL change. Free tier: 10 GB stored. For a self-hosted stack’s deduplicated nightly snapshots, that’s a lot of runway before the first invoice.