In cloud computing, cloud providers can offer cloud consumers two provisioning plans for computing resources, namely reservation and on-demand plans. In general, cost of utilizing computing resources provisioned by reservation plan is cheaper than that provisioned by on-demand plan, since cloud consumer has to pay to the provider in advance. With the reservation plan, the consumer can reduce the total cost of the resource provisioning. However, the best advance reservation of resources is difficult to be achieved due to the uncertainty of consumer's future demand as the reservation may lead to either under provisioning or over provisioning and providers' resource costs. The on-demand resource provisioning is very expensive. To address this problem, an optimal cloud resource provisioning (OCRP) algorithm is adopted. The demand and price uncertainty is reviewed