Cloud computing environment is referred as a collection of services which are delivered via the Internet. It depends upon sharing of resources to maximize the utilization of shared resources, and to achieve consistency and economies of scale. Resource management is very important for every system. Performance, functionality and cost are the three basic factors that are affected by resource management for system evaluation. Cloud resource management means to allocate and schedule computing resources. In this paper, various resource allocation and scheduling strategies are considered that helps in achieving high resource utilization and users demands. Various resource allocation strategies that are discussed in this paper are based on various parameters such as: location, time, topology, applications, hardware, priority, QoS etc. to meet the needs of cloud application. Similarly, scheduling strategies are based on parameters: cost, time, location, Qos, priority, load-balancing etc. to achieve high performance computing and best system throughput.