International Conference on Advancements In Computing and Communications 23-25 February, 2012 316 Cloud Computing: Basics and Security Concerns Karamdeep Singh University College of Engineering Punjabi University, Patiala Punjab, India +919915037810 karamdeep1989@gmail.com Jashanbir Singh Kaleka University College of Engineering Punjabi University, Patiala Punjab, India +919872297779 kaleka4u@live.com Sukhbir Singh University College of Engineering Punjabi University, Patiala Punjab, India +918872892453 sukh_ece@yahoo.co.in ABSTRACT Cloud computing has emerged as new technology that which provides customized, reliable and dynamic computing environments to its end users. Cloud computing uses geographically distributed data centers for storage purposes. As compared to grid computing, it has relatively inexpensive for end users with added security concerns. This paper is basically an overview of cloud computing technology, its need and various security issues that are encountered in a cloud computing environment. Keywords Cloud computing, Cloud architectures, virtualization, security concerns. 1. INTRODUCTION Cloud computing can be seen as an effort to deliver computing resource as a service. In cloud computing, computing as a service is delivered to consumers from large scale data centers (clouds) over internet. The US National Institute of standards and technology (NIST) defines cloud computing as: A model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction [1]. Cloud computing can be can be considered as a new computing paradigm which allows the subscribers to utilize the computing infrastructure over network on temporary basis. Several business models use this technology by providing programming platforms, data storage, software applications, computing infrastructure and hardware as services [2]. The main aim of cloud computing is to hide the complexity of IT infrastructure management from its users. Also, cloud computing provides high performance, scalability, reliability and specific configurability. As compared to dedicated infrastructures these capabilities are provided at low cost [3]. Still there are no widely accepted definitions for cloud computing. Several reasons lead into this situation: Cloud computing involves researchers and engineers from a variety of backgrounds, e.g., Grid computing, software engineering and database. They work on Cloud computing from diverse viewpoints. Technologies which facilitate the Cloud computing are still developing and progressing, for example, Web 2.0 and Service Oriented Computing. Existing computing Clouds still lack large scale deployment and usage, which would justify the concept of Cloud computing [4]. Cloud Architectures are designs of software applications that employ Internet-accessible on-demand services. Applications built on Cloud Architectures are such that underlying computing infrastructure is used only when it is required (for example to process a user request), draw the necessary resources on-demand (like compute servers or storage), execute a specific job, then hand over the unneeded resources and often dispose themselves after the job is done. While in operation the application scales up or down elastically based on resource requirements [5]. The paper is organized as follows: In section 2 the need of cloud computing is explained, section 3 describes the enabling technologies that lead to cloud computing, section 4 illustrates the functional aspects of cloud computing. Types of clouds are given in section 5, Security concerns encountered in cloud computing are presented in section 6, Section 7 concludes the paper. 2. NEED OF CLOUD COMPUTING Cloud computing architectures deal with key difficulties surrounding large-scale data processing. In conventional data processing: It is not easy to get as many machines as an application desires. It is not easy to get the machines when one needs them. It is complicated to distribute and co-ordinate a large-scale job on different machines, run processes on them, and provision another machine to recover if one machine fails. It is difficult to auto-scale up and down based on dynamic workloads. It is difficult to get rid of all those machines when the job is done [5]. Cloud Architectures solve such problems. Applications built on Cloud Architectures run in-the-cloud where the physical place of the infrastructure is determined by the provider. They take benefit of simple APIs of Internet-accessible services that scale on-demand, that are industrial-strength, where the composite reliability and scalability logic of the underlying services remains implemented and hidden inside-the- cloud. The usage of resources in Cloud Architectures is as needed, sometimes short-lived or seasonal, thereby providing the maximum utilization [5]. 3. ENABLING TACHNOLOGIES BEHIND CLOD COMPUTING A number of technology enable the cloud computing. Some of these enabling technologies are given below: Virtualization: Virtualization technologies give scalable and flexible computing platforms by partitioning the hardware. They support subscribers with customized network environment to support cloud resources. Virtualization techniques form the base of cloud computing as they provide flexible and scalable hardware service. Virtual Machine techniques such as VMware and Xen provide virtualized infrastructure when needed [4]. Orchestration of service flow and workflow: Computing Clouds present a full set of service templates on requirement, which is composed by services within the computing Cloud. Computing Clouds should be capable to automatically orchestrate services from diverse sources and of different