Resource allocation and scheduling algorithms are the two essential factors that determine the satisfaction of cloud users. The major cloud resources involved here are servers, storage, network, databases, software and so on based on requirements of customers. In the competitive scenario, each service provider tries to use factors like optimal configuration of resources, pricing, Quality of Service (QoS) parameters and Service Level Agreement (SLA) in order to benefit cloud users and service providers. Since, many researchers have proposed different scheduling algorithms and resource allocation strategies, it becomes a cumbersome task to conclude which ones really benefit customers and service providers. Hence, this paper analyses and presents the most relevant considerations that would help the cloud researchers in achieving their goals in terms of mapping of tasks to cloud resources.