- Improve build times by snapshotting a populated build cache.
- Roll back to a known good point in time.
- Perform fan-out and attempt multiple approaches to a code change.
When should I use a Blueprint vs. a Snapshot?Snapshots and Blueprints both allow you to run devboxes with customizations. Blueprints are built programmatically and are cacheable using Docker layers, while Snapshots can be created quickly from an existing devbox.Examples:
- Blueprint: You have a coding agent that is performing a task that requires installing a specific tool. Create a Blueprint with set-up steps for the tool. All Devboxes you launch from that Blueprint will have the environment already set up, and will not incur installation or setup time.
- Snapshot: You have a coding agent in a devbox considering 3 different ways to complete a task. Create a snapshot of the initial state of the devbox, create 3 parallel devboxes from that snapshot, collate the results, and then choose the best option to continue.
1
Create a devbox to snapshot
Create a devbox with state to snapshot.
2
Create a Snapshot
Start a Snapshot and wait for it to be ready.
3
Create a new devbox from the completed snapshot
Once the snapshot is complete, use the snapshot ID to launch a new devbox:
Asynchronous Disk Snapshots
When creating a disk snapshot you may want access to the Snapshot ID while you are waiting for the actual snapshot operation to complete. The asynchronous version of the snapshot operation allows this.Deleting Snapshots
By default, snapshots persist indefinitely and continue to incur storage costs. To optimize resource usage and costs, you can delete snapshots that are no longer needed.Deleting a Single Snapshot
To delete a specific snapshot simply:Cleaning Up Old Snapshots for a Devbox
When you create multiple snapshots of the same devbox, you may want to delete older snapshots to reduce storage costs. Here’s how to keep only the latest snapshot for a specific devbox:Be careful when deleting snapshots, as this action cannot be undone. Ensure you’re not deleting snapshots that you may need for rollback or recovery purposes.
