Cloud computing is a computing paradigm where applications, resources and services are provided over the internet. Software and hardware can be used on pay as service basis , without buying them. The key role of scheduling is to manage different tasks in different cloud environment. Cloud computing service providers use the available resources efficiently to achieve maximum profit. This makes task scheduling as a challenging issue for cloud service providers. This paper gives introduction about cloud computing, various existing scheduling algorithms in different task scheduling environments, existing problem and the future suggestions in existing algorithms.