International Journal on Advanced Computer Theory and Engineering (IJACTE) _______________________________________________________________________________________________ Cloud Computing: A New Paradigm in Utility Computing 1 Mayanka Katyal and 2Atul Mishra 1 Deptt. of Computer Engineering, YMCA University of Science and Technology, Faridabad, Haryana, INDIA, Deptt. of Computer Engineering, YMCA University of Science and Technology, Faridabad, Haryana, INDIA, Email: 1mayankakatyal@gmail.com, 2mish.atul@gmail.com 2 Abstract- Cloud computing can be regarded as integration of various computing technologies which offered better utilization of resources but could not achieve optimized performance. Cloud computing made use of all existing technologies like grid and utility, including internet to deliver infrastructure, applications and business processes as services to its users. It provided a means to attain IT (information technology) resources on demand at cheaper rates in scalable and shared environment. In this paper we discuss the roots of cloud computing which eventually lead to emergence of this technology. Keywords: Cloud Computing, Virtualization, Grid, Service oriented architecture (SOA). I. INTRODUCTION In the field of information technology (IT), the term Cloud Computing used to describe a category of ondemand computing services offered initially by commercial providers. Cloud computing is a model in which infrastructure attainable for computing is viewed as a “cloud”. Business and individuals from anywhere in the world can access their applications from cloud and save it on cloud storage. This model of computing offers “storage” as a service, “software” as a service and “computing” as a service. Initially this sophisticated category of computation was offered by Amazon [1], Google and Microsoft. Emergence of technologies such as cluster [2] and grid [2] provide a way of aggregating resources and allowed access to enormous amount of computational power in fully virtualized manner while offering single system view at the same time. Similar to cluster and grid, Cloud computing also aims at providing large amount of computing power while eliminating the shortcomings of previous technologies. dynamically provisioned and presented as one or more unified computing resources based on service level agreements (SLA) established through negotiations between service provider and consumers.” Over the years, emergence of technologies has significantly contributed to make cloud computing viable. In this direction this introduction tracks the emergence of cloud computing in Section II. Section II also explains the concept of virtualization which forms the backbone of cloud computing. Section III presents the layered architecture of cloud computing along with cloud deployment models. Section IV further describes features of cloud computing. The discussion ends with the benefits and capabilities of cloud computing in Section V and finally the paper concludes in section VI. II. EMERGENCE OF CLOUD COMPUTING In this section, we discuss the advancement of different technologies in the field of information technology which lead to the evolution of cloud computing. Convergence in the fields of internet technology, distributed computing, hardware and system management contributed significantly to development of cloud computing environment. Table I, shows the list of technologies that contributed in the emergence of cloud computing. TABLE I. TECHNOLOGIES LEADING TO EMERGENCE OF CLOUD COMPUTING TECHNOLOGIES Internet Technology Distributed Computing ADVANCEMENT IN TECHNOLOGIES Web Services, Service Oriented Architecture Grid and utility computing Virtualization Autonomic Computing, Datacenter Automation After the advent of internet [3] a lot of hype surrounded Hardware cloud computing field. When trying to define cloud System Management computing and its computing infrastructure, a great deal of confusion aroused. Buyya et al. [4] defined cloud computing as follows “Cloud is a parallel and distributed computing system consisting of a collection of interconnected and virtualized computer that are _______________________________________________________________________________________________ ISSN (Print): 2319-2526, Volume -3, Issue -6, 2014 1 International Journal on Advanced Computer Theory and Engineering (IJACTE) _______________________________________________________________________________________________ Maturity of such technologies closely linked to the emergence of cloud computing. With the aim to provide clearer picture of cloud computing environment, we present further a closer look at the advancement in these technologies that form the roots of cloud computing. which turned out to be a bottleneck for its acceptance in the field of information technology. Various issues encountered in grid computing are as described as follows: i. Quality of Service (QoS): Lack of performance isolation degraded the demand of grid computing. Performance perceived by one user can be influenced by activities of other user using the same platform in an uncontrollable manner. As a result execution time cannot be guaranteed in time critical applications. ii. Availability of Resources: Resources with diverse software configuration were not easily available in cloud computing environment. iii. Portability: There also existed barrier portability in grid computing infrastructure. A. Internet Technology: Web Services and Service Oriented Architecture Significant advancement in the field of software integration was obtained prior to emergence of web services. Web services make use of internet to make available internal applications. They enable information from one application to be easily made available to other application by integrating application running on different messaging product platforms. Web services also provide common mechanism for delivering services, as standards for web services have been created on the top of existing technologies such as XML and HTTP. This feature of web services enable ease of implementation of service oriented architecture (SOA). In a SOA, well defined and self contained modules are offered as “services” over internet. Services in SOA are packaged software resources that provide standard business functionality and can be delivered over internet. The true power of web services resides in its interface that is being accessible by other services. Standard protocols such as SOAP and REST [5] are used by service providers like Amazon, Facebook and Google so as to make their service APIs accessible to all varieties of users. Composition of services by same or different provider form the roots of Software as a service (SaaS) domain in cloud computing. Services such as e-mail, authentication and calendars can be reused and combined to provide single packaged software having all these features, in case single system does not provide it. Variety of interesting solutions can be composed by combining popular APIs such as twitter, Google Maps, You tube and variety of other technologies. B. Grid Computing Grid computing [8] is a technology that permits sharing of computational and storage resources that are widely distributed across different administrative domain over a network. TeraGrid [6] and EGEE [7] are production grids that focus on accelerating a wide range of applications such as drug design and climate modeling. Grid computing allows distributed resources to be “identified, accessed, provisioned, controlled and accounted for” via standard web services based protocol. These resources are managed as single virtual system. Although grid computing facilitated sharing of resources across network but it also had various shortcomings in The solution to all these issues was offered by virtualization which gives determination to development of cloud computing. C. Utility Computing Equitable access to resources must be provided to all users in a fair manner. Resources must be managed in such a manner that there exists no partial allocation of resources. Grid computing failed to provide efficient management of resources in case of excessive demands of resources. There were no techniques in grid computing that offered flexibility about resource requirements. There were no techniques to provision users having urgent work. In utility computing [8] environment, utility is either fixed or time varying. The value of utility is decided on the basis of various QoS constraints like importance, deadline and satisfaction. The value calculated is the amount the customer is ready to pay to the service provider in order to satisfy their requirement. The service provider on the other hand attempt to maximize their utility which is directly related to profit earned. Provider can prioritize job that earn them higher utility (profits), thus making customers compete for resources. This concept of utility computing is presently used in cloud computing to provision resources to user in payas-you-say manner. D. Virtualization Cloud computing involves deployment of large scale datacenters [2]. Datacenters comprise of thousands of computers. The purpose of these datacenters is to serve all cloud users [2] and host their applications. The maintenance and building of datacenters can be achieved by means of virtualization [9]. _______________________________________________________________________________________________ ISSN (Print): 2319-2526, Volume -3, Issue -6, 2014 2 International Journal on Advanced Computer Theory and Engineering (IJACTE) _______________________________________________________________________________________________ Figure 2(b) Hosted Virtualization Figure 1. Virtualization layer in a physical machine The vision of improving sharing and utilization of IT infrastructure including processors, memory, and inputoutput devices gave rise to the idea of virtualizing computer system. Virtualization technology separates the request for a service from underlying hardware responsible for delivering that service. Virtualization layer is added between hardware and operating system as shown in fig. 1. In fig. 1, multiple instances of operating system (OS) run concurrently on a single computer within a virtual machine (VM) [2] by means of virtualization. The physical resources such as CPU, storage, memory and I/O devices are shared among all the VMs residing on a single computer. Virtualization offers full abstraction of OS and application from hardware. Virtualization uses two types of architecture: either hypervisor or hosted. Hypervisor architecture as shown in fig. 2(a) is a bare metal architecture in which virtualization layer is directly installed on a clean x-86 [9] based system. In hosted architecture virtualization layer is hosted and run as an application on the top of an OS as shown in fig. 2(b). The responsibility of virtualization layer is to host and manage VMs on hypervisor running directly on hardware. Hypervisor is also referred to as virtual machine monitor (VMM). Functions of VMM are: i. ii. iii. Implementing the abstraction of VM hardware. Running guest OS. Partitioning of hardware resources. Table II summarizes the two types of virtualization architecture along with their features and benefits. TABLE II. CATEGORIES OF VIRTUALIZATION ARCHITECTURE Type of Virtualization Architecture Hypervisor based virtualization Hosted Virtualization Features Benefits It has i. More efficient direct ii. Deliver greater access to scalability hardware iii. Robustness resources iv. Performance It goes Supports broad range through of hardware OS to configurations hardware All these features of VMM enable to successfully achieve virtualization. Also there is one another issue that poses difficulty in achieving fully virtualized system. There exist some sensitive instructions that cannot be virtualized. These need special type of handling. TABLE III. ADVANTAGES OF DIFFERENT TYPES OF VIRTUALIZATION. Type of Virtualization Full Virtualization Paravirtualization Advantages i. ii. iii. i. ii. iii. Hardware Assisted Virtualization i. ii. Best isolation Security of VMs Simplifies migration and portability Binary translation is not required Modification of guest OS is easy as compared to binary translation. Hypervisor provides memory management, interrupt handling and time keeping Does not require binary translation or changes in guest OS Offers compatibility and portability Figure 2(a) Hypervisor based virtualization _______________________________________________________________________________________________ ISSN (Print): 2319-2526, Volume -3, Issue -6, 2014 3 International Journal on Advanced Computer Theory and Engineering (IJACTE) _______________________________________________________________________________________________ Based on handling of these non-virtualizable instructions virtualization is divided into three categories: discussed ahead. i. Full Virtualization: It uses a combination of binary translation and direct execution. VMM translates the kernel code containing nonvirtualizable instructions using binary translation. However the instructions that are virtualizable are directly executed. ii. Paravirtualization: This is also known as OS assisted virtualization. In this changes are made in the kernel of the guest OS to replace nonvirtualizable instructions with hypercalls. The hypercalls directly communicate with VMM. iii. Hardware assisted Virtualization: In this the hardware generates trap for non-virtualizable instructions eliminating the need for binary translation or paravirtualization. Table III gives the advantages of different types of virtualization. Each type of virtualization has its own usage in given environment depending upon user requirements. A number of VMM platforms exist that form basis of cloud computing. VMware ESXi, Xen and KVM (kernel based virtual machine) are most notable ones. Table IV gives features of these VMMs. E. Autonomic Computing Cloud infrastructure layer [11] is responsible for providing computation, storage and communication resources to cloud users. This layer provides on demand provisioning of resources. Cloud platform layer [11] offers cloud users (particularly developers) with an environment to create and deploy applications. Cloud application layer [11] resides on the top of cloud architecture. These are the applications accessible by end users through appropriate web portals. TABLE IV. FEATURES OF DIFFERENT VMMS VMM Features VMwa re ESXi i.Offers advanced virtualization ii. Memory flexibility iii.VMs flexibility i.Open Source ii.Improved performance Linux virtualization subsystem Xen KVM Autonomic computing [10] is a computing technology that aims at improving systems capability by decreasing human intervention in operations of computer. The systems must be capable enough to manage themselves, with high level of guidance being given by humans. System possessing following four properties are said to be autonomic systems: i) self-configuration, ii) self optimization, iii) self protection, and iv) self healing. Autonomic computing promotes datacenters in cloud computing to be self managed. Type of Virtualizati on supported Full virtualizati on Hypervisor Paravirtuali zation Bare Metal Hardware assisted virtualizati on Implemented as a kernel module and allows its host OS to act as a bare metal Bare Metal The capabilities of all these technologies constitute the basic features of cloud computing as discussed in further sections. III. LAYERED ARCHITECTURE OF CLOUD COMPUTING AND DEPLOYMENT MODELS Services of cloud computing are divided into three classes namely, Infrastructure as a service (IaaS), Platform as a service (PaaS), and Software as a service (SaaS). Figure 3 depicts the layered architecture of a cloud in which each layer is abstracted from layer below it. Figure 3. Layered architecture of Cloud TABLE V. TYPES OF CLOUD Type of Cloud Public Cloud Private Cloud Community Cloud Deployment Cloud made available to common public. Cloud available internally within an organization Cloud shared by group _______________________________________________________________________________________________ ISSN (Print): 2319-2526, Volume -3, Issue -6, 2014 4 International Journal on Advanced Computer Theory and Engineering (IJACTE) _______________________________________________________________________________________________ Hybrid Cloud of institutes or specific community Private cloud is supplemented with capabilities of public cloud. Regardless of the service offered by cloud computing environment, cloud can be categorized as public, private, community, or hybrid based on the deployment model. Table V categorizes the cloud along with their deployment details. IV. FEATURES OF CLOUD COMPUTING ENVIRONMENT Cloud computing environment must possess following features in order to satisfy increasingly growing customers requirements which vary rapidly. i. Elasticity: Cloud is provisioned with enormous computational resources. The cloud computing environment must deploy techniques to efficiently increase and decrease the quantity of resources when the demand increase and decreases respectively. ii. Per-Usage Metering and Billing: The customers of the cloud pay for every unit of resource they use on demand. Therefore, the metering must be done efficiently for different types of resources (processor, storage, and bandwidth) in a transparent manner. iii. Self Service: The users of cloud must be provided an interface to directly request, use and pay for cloud services without human assistance. iv. Customizable: Different users have different requirements which vary from time to time. Cloud computing must provide an environment where users can customize their resources as per their requirement. There is lesser flexibility in customization of platform and software. However, infrastructure can be easily customized. V. BENEFITS AND CAPABILITIES OF CLOUD COMPUTING balancing and recovery from disaster. In this sense, the cloud computing inspires both cloud users and cloud providers to move towards more efficient computing in which resources are readily available on demand with batter performance and at better rates. VI. CONCLUSION Cloud computing is a revolutionary computing paradigm in the field of distributed computing that can be used by variety of users ranging from large organizations to common user of internet. It offers huge amount of resources to users in masses. It has effectively catered the issues related to performance and utilization. Efficient balancing of cloud computing resources will further lead to evolution of highly effective computational environment. REFERENCES [1]. Amazon Elastic Compute Cloud (EC2). Retrieved from http://www.amazon.com/ec2/ (accessed on April 18, 2010). [2]. Mayanka Katyal, Atul Mishra, “A Comparative Study of Load Balancing Algorithms in Cloud Computing Environment” International Journal of Distributed and Cloud Computing Volume 1 Issue 2 December 2013. [3]. N.Carr, The Big Switch:Rewiring the world, From Edison to Google. W.W. Norton & Co., New York, 2008. [4]. R.Buyya, C.S.Yeo, S.Venugopal, J.Broberg, and I.Brandic, Cloud Computing and emerging IT platforms: Vision,hype and reality of delivering computing as the 5th utility, Future generation computer systems,25:599-616,2009. [5] . B.Blau et al. Planning and pricing of service mashups, in proceedings of the 2008 10th IEEE Conference on E-Commerce Technology. [6]. C.Catlett, The Philosophy of Tera Grid:Building an Open , Extensible, distributed Tera scale facility in proceedings of 2nd IEEE/ACM International Symposium on cluster computing and the Grid. The advent of innovative and efficient technologies has lead to adoption of cloud computing. Traditionally, improvement in utilization of resources, higher degree of sharing, higher reliability and better manageability [7]. F.Gagliardi et al. Building an infrastructure for were seen as benefits of cloud computing. However the scientific Grid Computing: Status and goals of adoption of technology of virtualization has provided EGEE project, philosophical transactions of the efficient way to manage workload in an “isolated” royal society. manner. Also cloud computing further improves utilization level by supporting consolidation of [8]. Buyya et al. “Market oriented frid and utility heterogeneous workload onto a single machine. Apart computing:The state-of-the-art and the future from these workload migration is the distinct capability directions”, journal of grid computing, 6:255of cloud computing which makes it more innovative and 276,2008. beneficial. Workload migration helps in achieving load _______________________________________________________________________________________________ ISSN (Print): 2319-2526, Volume -3, Issue -6, 2014 5 International Journal on Advanced Computer Theory and Engineering (IJACTE) _______________________________________________________________________________________________ [9]. Understanding Full Virtualization, Paravirtualization, and Hardware Assist-A white paper. [11]. Lamia Youseff ,Maria Butrico, Dilma Da Silva, “Toward a Unified Ontology of Cloud Computing”. [10]. International Business Machines Corp., An architectural Blueprint of autonomic computing, White paper 4th edition, 2006. _______________________________________________________________________________________________ ISSN (Print): 2319-2526, Volume -3, Issue -6, 2014 6