Software-defined storage