Master of Puppets: Adapting Cloud and Datacenter Storage