Given a large variety of resources and billing contracts offered by today's cloud providers, customers face a nontrivial optimization challenge for their application workloads. A number of works are dealing with either billing contracts selection optimization or resource types selection. We argue that the largest cost savings to elastic workloads result from jointly optimizing heterogeneous resources and billing contracts selection. To this end, we introduce a novel cloud control and management framework and formulate a novel optimization problem called Heterogeneous Resource Reservation (HRR). We evaluate our solution through a thorough simulation study using publicly available cloud workload data as well as internal anonymous customer data. For these data our approach attain dramatic cost savings compared to the current state of the art.