Abstract: Cloud computing is a fast-emerging area with so many benefts for the end users. Many leading frms make use of cloud mainly to store their huge volume of data and other such purposes. When speaking about cloud, we need to focus on the data centers. This is because the virtual machines (VM) present in the cloud are mapped to the physical devices that are present in the data centers. This seems to be a simple process, but the tricky part is when the number of users increases. Number of users send the request for a particular or more than one service to the cloud. The service providers have to handle the entire request and also concentrate on the satisfaction of the end user along with the quality of service (QoS). Most important thing is that the service provider must give a quick response to the cloud consumers, i.e., the delay must be minimized. Only then the QoS provided could be maintained. In this paper, we are going to see about how the tasks are being scheduled and allocated optimally to the VMs present in the cloud. We are going to delineate the various algorithms that are implemented so far for this process. In this paper, we have described an overview of cloud, task scheduling and VM allocation. Keywords: Cloud computing, Data center, Service providers, Task scheduling, VM allocation. Task Scheduling and VM Allocation in Cloud Computing: A Survey Jeny Varghese 1* and S. Jagannatha 2 1 Research Scholar, Department of MCA, MS Ramaiah Institute of Technology, Affliated to VTU, Belagavi and Assistant Professor, PES University, Bangalore, Karnataka, India. Email: jens4u@gmail.com 2 Associate Professor, Department of MCA, MS Ramaiah Institute of Technology, Affliated to VTU, Belagavi, Bangalore, Karnataka, India. *Corresponding Author I. IntroductIon Cloud computing is a recent, growing technology with the ability to produce lot of resources as utility services. People pay for hardware and software as per their use. Similarly in cloud computing, services are given according to the user request [1]. Normally, cloud computing is mostly utilized for sharing the storage, networks and services. This area has certain special characteristics like service anyplace, enormous resources and many others. The cloud users must ensure the quality of the resources givesn by the service providers. The three main and signifcant services of cloud include: Infrastructure-as-a- service (Iaas), Platform-as-a-service (Paas) and Software-as-a- service (Saas) [2]. Cloud computing is deployed in three different categories as: private, public and hybrid. In order to achieve the full range of benefts, these three categories exist [3]. The private cloud can also be called as enterprise cloud as it can be accessed only by the organization. These clouds are exclusively utilized by the owner and are present in their premises. This model provides a higher degree of security and controls over the resources stored in the cloud. The public cloud can be accessed publicly and supervised by third-party service providers. Since, it is available, open security cannot be guaranteed to a great extent. The hybrid cloud, as the name suggests is the combination of the above models. It allows the user to store confdential data and facts in private cloud and the rest in public cloud. The only problem of this model lies in the classifcation of data as which is more important and the reverse. The community cloud involves the distribution of computing resources among the organizations of the same community. The main advantage of this model is that it reduces the costs for its setup as it is distributed among the organizations and also has high security [4]. These deployment models and the services offered by the cloud are shown in Fig. 1. Community Cloud Hybrid Cloud Public Cloud PaaS SaaS IaaS Private Cloud PaaS SaaS IaaS Shared data center Enterprise Controlled On-Site Flexibility Externally Hosted Shared Data Center Multiple Users Off-Site 3 rd Party Supervision Utility Pricing Elasticity Fig. 1: Cloud Deployment Model and Services A. Defnitions In the following, we have provided the defnitions of the entities present in the cloud computing environment. International Journal of Distributed and Cloud Computing 7 (2) December 2019, 07-18 http://www.publishingindia.com/ijdcc