A framework for joint resource allocation of MapReduce and web service applications in a shared cloud cluster