Performance prediction of cloud applications through benchmarking and simulation