Backups are one of those features you never think about — until you need one. And when you do, you want it to be fast, complete, and recent. Today we’re shipping incremental backups for Agiler, a ground-up rethink of how we store and restore your data.
The short version: backups are now much faster, use far less storage, and restore more quickly. Here’s how.
The problem with full backups
Until now, every backup was a full copy. Every file, every time, uploaded in its entirety — even if nothing had changed since yesterday. For small projects, that was fine. But for larger workspaces with thousands of files, it meant slow backup windows, wasted storage, and restore times that grew with total project size rather than the amount of data that actually changed.
Think of it like photocopying an entire filing cabinet every night, even though only a handful of pages were updated during the day. Most of the work is redundant.
How incremental backups work
The core idea is simple: only upload what’s changed since the last backup. Everything else is carried forward by reference.
Each new backup knows about its parent — the most recent backup before it. When a backup runs, every file is compared against the parent’s file list. If a file hasn’t changed, the system skips it and reuses the parent’s copy. Only new or modified files get uploaded.
The result: if 5% of your files changed, roughly 5% of the data gets uploaded. The other 95% is inherited from the parent backup for free.
On top of that, files are compressed before storage — but only when compression actually helps. Formats that are already compressed (like images, video, and PDFs) are left as-is, while things like source code and config files get compressed efficiently. No wasted effort, no wasted space.
Reliability
Incremental backups form a chain — each one depends on its parent. That introduces some complexity, so we’ve built in safeguards to keep your data safe without any manual configuration.
Automatic full backups when needed. If most of your files have changed since the last backup, the system skips the incremental approach and creates a full backup instead. This happens behind the scenes — you don’t need to think about it.
Chain length limits. Incremental chains are capped at 5 levels deep. When a chain reaches that limit, the system branches off the most recent full backup to start a fresh chain — as long as that full backup is less than 3 months old. If it’s older than that (or doesn’t exist), a brand new full backup is created instead. Either way, chains stay short and there’s always a recent full backup to fall back on.
Safe deletion. When you delete a backup, the system ensures no other backup depends on it. If one does, the necessary data is kept until all dependent backups are also removed. You never end up with broken backups pointing at missing data.
Faster restores
Restores have been rebuilt too. Downloads now happen in parallel and files are extracted simultaneously, which dramatically reduces restore time for larger workspaces.
We also preserve original file modification times after a restore. This means future incremental backups can correctly detect which files haven’t changed, so you keep the efficiency benefits across backup-restore cycles.
What this means for you
- Faster backups: Only changed files are uploaded. Daily backups that used to take minutes now complete in seconds.
- Less storage: Redundant data is eliminated. Your storage footprint shrinks in proportion to how little changes between backups.
- Faster restores: Parallel downloads cut restore times significantly.
- Zero configuration: Chain limits, automatic full backups, and compression all happen on their own.
- Same reliability: Your data is always consistent and always recoverable.
Incremental backups are available now for all Agiler workspaces. Your next scheduled backup will automatically be incremental if a parent backup exists. No action required — just faster, smaller, smarter backups from here on out.