Modern Infrastructure-as-a-Service (IaaS) provides flexible access to data center resources on demand in an elastic fashion to meet the highly variable workload requirements of cloud applications. Cloud providers aim to provision resources as efficiently and as quickly as possible to their consumers. However, the lack of information about the hosted applications and their workloads makes it hard for cloud providers to anticipate the future resource demands of their customers so that they can plan the capacity of their infrastructure. Cloud providers can receive arbitrary requests for allocating resources on-the-fly in a completely unpredictable manner. Given this unpredictability, it may happen that providers might not be able to provision the requested resources quickly enough, or in the worst case, they might ran out of capacity and may not be able to satisfy their customers resource demands. To address these concerns, in this paper we propose a new resource reservation mechanism, based on the concept of soft reservations, addressing the issue of uncertainty and lack of information concerning the expected future customer workloads and corresponding resource demands. The proposed resource reservation mechanism makes it possible for cloud providers to better plan the capacity of their infrastructure and continuously optimize the placement of virtual machines on physical nodes thus improving the infrastructure cost and energy efficiency. It also takes into account the uncertainty of resource demand estimations and enables proactive online capacity planning resulting in cost benefits for both cloud providers and cloud customers.