Cloud computing assures to offer subscription-oriented and quality computing to the users of cloud worldwide. With the improved demand for delivering services to a large number of users, cloud providers need to offer segregated services to users and meet their quality anticipations. Resource Provisioning means the selection, deployment, and run-time management of software (e.g., DB server management systems, load balancers) and Hardware resources (e.g., CPU, storage, and network) for ensuring assured performance for applications. Resource Provisioning is an important aspect and challenging problem in the large-scale distributed systems such as Cloud computing environments. Resource provisioning and cloud negotiation techniques are most important drivers of all the happenings in the world of cloud computing. Cloud offers voluminous resource provisioning techniques, which is of static and dynamic each one having its own advantages and challenges. All these resource provisioning techniques mentioned and used must meet Quality of Service (QoS) parameters like obtain ability, throughput, response time, security and reliability. This paper focuses on various types of resource provisioning techniques available for cloud and comparison among various techniques.