A SURVEY ON CLOUD COMPUTING AND ITS BENEFITS

Cloud computing is Internet based development and use of computer technology. It is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure "in the cloud" that supports them. Cloud computing is very popular paradigm in the field of computer science where heterogeneous services are delivered to an organization's computer through the Internet. It allows individuals and businesses to access the applications without installation and can access their personal files on any internet connected computer or laptop. Cloud computing means saving and accessing the data over the internet instead of local storage. In this paper, we have conducted a survey on the models of cloud environment, benefits and issues related to it.


INTRODUCTION
Cloud computing is a technology that uses the internet and central remote servers to maintain data and applications. This technology allows for much more efficient computing by centralizing data storage, processing and bandwidth. Cloud computing have aimed to allow access to large amounts of computing power in a fully virtualized manner, by aggregating resources and give a picture of a single system. A computing cloud has networks of nodes. Therefore scalability should be a quality feature of the computing cloud. In addition, an important aim of these technologies has been delivering computing as a utility. Internet has been a driving force towards the various technologies that have been developed since its inception. Arguably, one of the most discussed among all of them is Cloud Computing. Over the last few years, Cloud computing paradigm has witnessed an enormous shift towards its adoption and it has become a trend in the information technology space as it promises significant cost reductions and new business potential to its users and providers [1]. Cloud computing can be defined as "Cloud is a parallel and distributed computing system consisting of a collection of inter-connected and virtualized computers that are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements (SLA) established through negotiation between the service provider and consumers".

CLOUD COMPUTING: AN OVERVIEW
Cloud computing has recently emerged as a new paradigm in the field of internet technology. Cloud Computing is attractive to business owners and IT people. Cloud computing is a model that offers convenient, ubiquitous and ondemand network access to a shared pool of resources. Many cloud computing providers have popped up and there is a considerable growth in the usage of this service. Google, Microsoft, Yahoo, IBM and Amazon have started providing cloud computing services. Amazon is the pioneer in this field. Smaller companies like SmugMug, which is an online photo hosting site, has used cloud services for storing all the data and doing some of its services. Computing can be described as any activity of using and/or developing computer hardware and software. It includes everything that sits in the bottom layer, i.e. everything from raw compute power to storage capabilities. Cloud computing [1] ties together all these entities and delivers them as a single integrated entity under its own sophisticated management.
Cloud is a term used as a metaphor for the wide area networks (like internet) or any such large networked environment. It came partly from the cloud-like symbol used to represent the complexities of the networks in the schematic diagrams. It represents all the complexities of the network which may include everything from cables, routers, servers, data centers and all such other devices. Cloud Computing is finding use in various areas like web hosting, parallel batch processing, graphics rendering, financial modeling, web crawling, genomics analysis, etc. Cloud computing model consists of core characteristics such as on-demand network access, resource pooling, rapid elasticity, measured service, on-demand self service, multitenancy; deployment models such as private cloud, public cloud,community cloud, hybrid cloud; service categories such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), also Ethernet as a Service, IT as a Service have come up.
Although, Cloud Computing has achieved a lot of importance and has become part and parcel of Big Data applications, but whenever a new technology comes up, it's faced with various issues and challenges. Some issues and challenges that its recently encountered with are: Load Balancing, Huge Energy Consumption by Cloud data centers, security and privacy of users' data, reliability and availability of cloud services, resource management, Service Level Agreement (SLA) issue, interoperability and portability, scalability and elasticity, virtualization etc. These issues and challenges motivate researchers to explore further and develop new policies and algorithms to address them.

WHY CLOUD COMPUTING
This is because of the these reasons: • User Centric: The computing in cloud revolves around the user. It is the user who will give his requirements and according the services would be provided as per SLA.
• Task-Centric: In cloud, computing depends upon the users' requests called tasks.
• Powerful: Cloud computing is powerful because of its advantages over existing computing paradigms.
• Accessible: Cloud services are available all over the internet and are easily accessible.
• Intelligent: Cloud computing provide the user the services he want and he also pays what he uses. Unlike, convention computing, user pays only for using storage rather than for a memory, ram bandwidth too.
• Programmable: Cloud applications are build tailored according to the users' need.

SERVICE MODELS
There are different types of services are provides by cloud models like: Software as a Service(SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS) [6] which are deployed as public cloud, private cloud, community cloud and hybrid clouds.

1) Software as a Service (SaaS):-
The capability provided to the consumer is to use the some applications which is running on a cloud infrastructure. The applications are accessible from many devices through an interface such as a web N o v e m b e r 17, 2 0 1 5 browser (e.g., web-based email). The consumer does not control the cloud infrastructure which includes network, and servers, all operating systems, and provides storages. [5] provides all the resources that are required for implementation of applications and all services completely from the Internet. In this no downloading or installing is required of any software. The capability provided to the consumer is to deploy onto the cloud infrastructure .Consumer uses all the applications by using different programming languages and tools which are provide by the provider. Any consumer has not any control on cloud infrastructure including all networks, servers and operating systems, but has control over the applications which they deployed.

3) Infrastructure as a Service (IaaS):-
The capability provided to the consumer is to access all the processing, storage, networks and other many fundamental computing resources . Consumer [5] [6] is able to deploy arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage ,deployed application ,and possibly limited control of select networking components

DEPLOYMENT MODELS
Depending on infrastructure ownership, there are four deployment models of cloud computing [6]. [9] allows users to access the cloud publicly. It is access by interfaces using internet browsers. Users pay only for that time duration in which they use the service, i.e., pay-per-use. [10] operation is with in an organization's internal enterprise data center. The main advantage here is that it is very easier to manage security in public cloud. Example of private cloud in our daily life is intranet. [11] and private cloud. .It provide more secure way to control all data and applications .It allows the party to access information over the internet. It allows the organization to serve its needs in the private cloud and if some occasional need occurs it asks the public cloud for some computing resources.

4) Community
Cloud:-When cloud infrastructure construct by many organizations jointly, such cloud model is called as a community cloud. The cloud infrastructure could be hosted by a third-party provider or within one of the organizations in the community.

CLOUD COMPUTING COMPONENTS
Cloud computing component describes the basic structure of a cloud computing environment. A Cloud system composed of three main components like clients, datacentre, and distributed servers. Each component has a definite objective.

Enhance accessibility:
Data can be accessed anytime, anywhere through the internet. Thus, the cloud computing offers many benefits in the form of elasticity, availability, increased storage, reduce cost and expandability on-demand but there are some limitations in cloud computing that are: 1. Requires a constant Internet connection: Cloud computing is dependence on network connectivity. It is impossible if you cannot connect to the Internet.
2. Slow speed of Interment: Uploading and downloading of huge documents may take a long time.

ISSUES IN CLOUD COMPUTING
There are many issues in cloud computing:  Security: Security is the biggest issue of cloud. Cloud computing can be accessible anywhere using the internet so there is a need of security like authentication, privacy and integrity. The service provider for the cloud must make sure that only the legitimate users can view the data from cloud or exchange the data to cloud. There are the some problems are faced by the cloud computing, such as data loss, data theft, data location etc.
 Efficient load balancing: Cloud computing is an internet based computing in which the load balancing is the one of the challenging tasks. Various optimization techniques are needed to make a balanced system by allocating the workload to the nodes in a manner that no node is overloaded or underloaded. There are some other challenges such as resource scheduling, privacy and data management.

CLOUD SIM
The CloudSim simulation layer provides support for modeling and simulation of virtualized Cloud-based data center environments including dedicated management interfaces for VMs, memory, storage, and bandwidth. The fundamental issues, such as provisioning of hosts to VMs, managing application execution, and monitoring dynamic system state, are handled by this layer. A Cloud provider, who wants to study the efficiency of different policies in allocating its hosts to VMs (VM provisioning), would need to implement his strategies at this layer. Such implementation can be done by programmatically extending the core VM provisioning functionality. There is a clear distinction at this layer related to provisioning of hosts to VMs. A Cloud host can be concurrently allocated to a set of VMs that execute applications based on SaaS provider's defined QoS levels. This layer also exposes the functionalities that a Cloud application developer can extend to perform complex workload profiling and application performance study. The top-most layer in the CloudSim stack is the User Code that exposes basic entities for hosts (number of machines, their specification, and so on), applications (number of tasks and their requirements), VMs, number of users and their application types, and broker scheduling policies. By extending the basic entities given at this layer, a Cloud application developer can perform the following activities: (i) generate a mix of workload request distributions, application configurations; (ii) model Cloud availability scenarios and perform robust tests based on the custom configurations; and (iii) implement custom application provisioning techniques for clouds and their federation.

CONCLUSION
This paper is based on cloud computing technology which has a very vast potential and is still unexplored. The capabilities of cloud computing are endless. Cloud computing provides everything to the user as a service which includes platform as a service, application as a service, infrastructure as a service. Cloud computing is the widely used technology all over the world and is gaining the popularity day by day but it has also got many issues which should be addressed properly or else it may lead to poor performance which can make the technology unsuccessful.