1. A non-transitory computer-readable medium configured to store instructions that, when executed by a processor included in a server, cause the server to carry out steps that include: storing, by the server, sequential snapshots that represent a file system of a device over time, the sequential snapshots including at least a first snapshot that is a complete backup of the file system and a second snapshot that is a partial backup of the file system that identifies files in the file system that have changed with respect to the first snapshot; identifying, by the server, a change in at least one resource stored in the file system of the device, wherein communication between the server and the device is based at least in part on metadata associated with the at least one resource that represents a first level of abstraction of the at least one resource; transmitting, from the server to the device, a token configured to authorize the device to backup, to one or more remote storage locations, a collection of data chunks that represent the at least one resource, wherein communication between the one or more remote storage locations and the device is based at least in part on the collection of data chunks, and the collection of data chunks represents a second layer of abstraction of the at least one resource that is distinct from the first level of abstraction; and committing the change in the at least one resource to the server upon receiving a confirmation that the backup is complete, wherein committing the change includes: merging the second snapshot with the first snapshot as an atomic operation, and subsequent to identifying that merging the second snapshot with the first snapshot is successful, and upon determining that a number of the sequential snapshots satisfies a threshold: generating a third snapshot that accounts for the change in the at least one resource such that a fixed number of snapshots is maintained for the device as the file system changes over time.