Cut the S3 bill for your build artifacts.
DeltaGlider is an S3 proxy that spots similar files and stores them as small binary diffs instead of full copies. Each build your CI ships shares most of its bytes with the previous one, so DeltaGlider stores the difference and rebuilds the rest on read. The S3 API is the same and your SDKs don't change.
It works on already-compressed archives
Release after release, a ZIP or JAR contains the same entries in the
same order: the manifest.mf, the icons, the bundled CSS.
The bytes repeat, so the binary diff between two releases stays tiny
even though each file inside the archive is already compressed.
What it costs in speed
We measured these numbers by running the repo's own benchmark harness on the same artifacts in four modes, in one Hetzner region, over a single stream:
| Mode | PUT | Cold GET | Warm GET |
|---|---|---|---|
| Passthrough (baseline) | 106 MB/s | 97 MB/s | 90 MB/s |
| Encryption only | 94 MB/s | no slowdown | no slowdown |
| Delta compression | 9 MB/s | 89 MB/s | no slowdown |
| Compression + encryption | 9 MB/s | 85 MB/s | no slowdown |
The tax lands on the write path, once, where CI is the one waiting: the xdelta3 encode makes a single-stream upload about twelve times slower. Reads are the path a person feels. They pay about 30% on time to first byte when the reference is cold and nothing when it is warm. Encryption is effectively free.
ReadonlyREST's build catalog now lives on Hetzner
Beshu Tech migrated its own ReadonlyREST build catalog, 1.71 TB on AWS S3, to Hetzner through DeltaGlider. The catalog now takes 134 GB, roughly 1,270% smaller, and serves production downloads today.
Verified results
| Version | Size (encrypted) | Verdict |
|---|---|---|
| 1.69.0 | 2,866 MB → 32.4 MB -98.9% | Excellent |
| 1.38.0 | 13.7 GB → 3.3 GB -75.6% | Fair cross-major ES range |
| 1.17.1 | 26 MB → 6.8 MB -74.0% | Small dataset, dominated by reference |
| Full migration | 1.71 TB → 134 GB | Complete |
What a migration looks like
Deploy
Run DeltaGlider in your VPC. Point it at your existing AWS bucket, or at a new Hetzner, Backblaze, or Cloudflare bucket. Anything S3-compatible works.
Scan
Use the Delta Efficiency Panel to scan a sample prefix and check that the compression is in the range that justifies the migration.
Stage
Stage the migration one bucket at a time with per-bucket
aliases. Freeze writes during the window with
quota_bytes: 0.
Cutover
Cut over your apps' S3 endpoint to DeltaGlider. The SDKs stay as they are.
Replicate
If you need a DR region, run replication rules to mirror new writes to it.