Stateless services are easy to scale in the cloud since new
replicas of these services can be created at any time and
they operate completely independently of other instances.
In contrast, scaling stateful services, such as a database system,
can take minutes or even hours due to the need to
present a consistent view of the system for users of the service.
Currently, this problem is addressed by resource overprovisioning
in anticipation of demand spikes. FlurryDB
uses virtual machine cloning to improve resource utilization
by drastically reducing the latency required to add a new
replica. We also show that FlurryDB is capable of handling
updates to resources in a fashion that preserves consistency
across the cloning boundary