ICIC Express Letters Part B: Applications ICIC International c 2010 ISSN 2185-2766 Volume 1, Number 1, September 2010 pp. 33 38 CLOUD COMPUTING: THE EMERGING COMPUTING TECHNOLOGY Feng-Tse Lin and Teng-San Shih Department of Applied Mathematics Chinese Culture University Yangminshan, Taipei 111, Taiwan ftlin@faculty.pccu.edu.tw; shih@mail.pccu.edu.tw Received May 2010; accepted July 2010 Abstract. Cloud computing is a style of computing where massively scalable IT-enabled capabilities are provided as a service over the network. It emerges as a new computing paradigm to support the maximum number of users and elastic services with the minimum resource. The evolution of Cloud computing can handle massive data as per on demand service. It is a complex infrastructure of software, hardware, processing and storage available as several service types. This article reviews recent advances of Cloud computing, presents the layered structure of Cloud, and identifies the characteristics of emerging Cloud computing technology. Keywords: Cloud computing, Virtualization, IT infrastructure, SaaS, PaaS, IaaS 1. Introduction. Cloud computing is a new term for a long-held dream of computing as a utility, which has recently emerged as a new computing paradigm to provide reliable, customized and QoS guaranteed dynamic computing environment for users. According to Berkeley experts, Cloud computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the datacenters that provide those services. The services themselves have long been referred to as Software as a Service (SaaS). The datacenter hardware and software is what we will call a Cloud [1]. From the publication of a paper by Google in 2003, Cloud computing has been evolved from internal IT system to public service and is already rooted in search engine platform design [3]. Recently, Cloud computing is becoming one of the next IT industry buzzwords: users move out their data and applications to the remote Cloud and then access them in a simple and pervasive way. From the Hyper Cycle published by Gartner in 2009, the Cloud computing is now at the peak of inflated expectations [10]. Gartner is a leading IT research and advisory company based in the United States that provides opinions, advice and data on the global information technology industry. Gartner states that Cloud computing is changing the way the IT industry looks at user and vendor relationships. Based on Gartner s view, Cloud computing is now emerging at the convergence of three major trends service orientation, virtualization and standardization of computing through the Internet. By 2011, early technology adopters will forgo capital expenditures and instead purchase 40 percent of their IT infrastructure as a service. Several projects within industry and academia have started, for example the RESER- VOIR project [15], Amazon Elastic Compute Cloud [9], IBM s Blue Cloud [12], Google App Engine [11], Microsoft Azure [13] and OpenNEbula [14]. HP, Intel and Yahoo recently announced the creation of a global, multi-data center, open source Cloud computing test bed. Three major Cloud computing styles based on the underlying resource abstraction technologies are summarized as follows. Amazon s Cloud computing is based on server virtualization technology. Amazon released Xen-based Elastic Compute Cloud (EC2), simple storage service (S3) and structure data storage service during 2006-2007 under the 33
34 F.-T. LIN AND T.-S. SHIH name Amazon Web Services [2,9]. Google s Cloud computing is based on a techniquespecific sandbox. Google published several papers from 2003-2006, which outline a kind of platform as a Cloud computing service. The platform is called Google App Engine released to public as a service in 2008. Microsoft Azure also released in 2008 which uses Window Azure Hypervisor as the underlying Cloud infrastructure and.net as the application container. Cloud computing has been evolved from internal IT system to public service and from ISP to telecommunications. Thus, this article reviews recent advances of Cloud computing, presents the layered structure of Cloud and identifies the characteristics of Cloud computing, attempting to clarify the reason of the Cloud computing is emerging as the hottest technology in 2010. 2. Cloud Architecture and Cloud Services. Cloud computing is still evolving, no widely accepted definition exists. An early definition of Cloud computing from [8] is given as follows: A computing Cloud is a set of network enabled services, providing scalable, Qos guaranteed, normally personalized, inexpensive computing infrastructures on demand, which could be accessed in a simple and pervasive way. Based on this definition, Cloud computing offers users with services to access hardware, software as well as data resources and integrates computing platforms as a service in a transparent way [7]. Cloud architecture is the design of software applications that uses internet-accessible on-demand service and the supply of management infrastructure that includes functions as computational resources provisioning, dynamic workload balancing and performance monitoring. Figure 1 is a layered Cloud architecture considered in this study. Based on this architecture, Cloud service providers tend to offer services that can be grouped into three categories: software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS). Figure 2 shows a list of Cloud vendors that offer either IaaS or a PaaS. This is by no means a complete list but just a sampling of examples for reference. Figure 1. A layered cloud architecture Product Vendor Service type Google App Engine Google Inc. PaaS Windows Azure Microsoft Corp. PaaS Force.com Salesforce PaaS Xen Cloud Platform Xen.org community PaaS Amazon EC2, Amazon S3 Amazon Web Services LLC IaaS GoGrid Cloud Hosting ServePath IaaS LayerTech Virtual Private Data Center and Virtual Machines Layered Technologies, Inc. IaaS Flexiscale Flexiant Ltd. IaaS Rackspace Cloud Rackspace IaaS Figure 2. Cloud computing offerings for services
ICIC EXPRESS LETTERS, PART B: APPLICATIONS, VOL.1, NO.1, 2010 35 2.1. Software as a service (SaaS). Software as a service was coined in a conference in 2005 and then popularized by Salesforce.com with its No Software motto. SaaS, also known as Cloud application services, consists of various services offered to the end users. Each user should pay a subscription. Several other examples have come to market, including the Google Apps offering of basic business services such as email and word processing. The free email, also called web-based email, offered on the Internet such as Microsoft Hotmail, Google Gmail and Yahoo Mail. Each email system meets the criteria of an SaaS application: a vendor hosts all of the programs and data and provides end users access to them over the world-wide web. Therefore, the concept of SaaS is that software or an application is hosted as a service and provided to customers across the Internet. This mode transfers programs to millions of users through browser and eliminates the need to install and run the application on the customer s local computers. SaaS alleviates the customer s burden of software maintenance, and reduces the expense of software purchases by on-demand pricing. Today Google is one of the strongest backers of this approach, with well-known products as Google Reader, Google Maps, Google Calendar and Google Docs. 2.2. Platform as a service (PaaS). Platform as a Service, also known as Cloud platform services, offers platform services, such as web, application and database servers and an executable programming environment. Programmers use this layer to code, test, debug and run many kinds of applications. Thus, developers can code the applications and upload it into the platform and run the application on the Cloud infrastructure. It facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers. Users can on demand subscribe to their favorite computing platforms with requirements of hardware configuration, software installation and data access demands. The sizing of the hardware resources demanded by the execution of the services is made in a transparent manner. Compared with conventional application development, this strategy can sharply reduce development time by offering hundreds of readily available tools and services. A well-known example is the Google Apps Engine. The Google Apps Engine enables users to build Web applications with Google s APIs and SDKs across the same scalable systems, which power the Google applications. Other examples are Microsoft s Azure, Bungee Connect and Force.com. 2.3. Infrastructure as a service (IaaS). Infrastructure as a Service, also known as Cloud infrastructure services, virtualizes the hardware equipments and offers computing services such as CPU, memory, storage, etc. In other words, IaaS provides an environment for running user built virtualized systems in the Cloud. Using this technique virtual machines (VM) are created on premise and loaded with all the software that will eventually run in the Cloud. Once the VM is started the IaaS vendor can ensure that the running VM continues to look healthy as a whole. IaaS is thus a provision model in which an organization outsources the equipment used to support operations, including storage, hardware, servers and networking components. The service provider owns the equipment and is responsible for housing, running and maintaining it. The client typically pays on a per-use basis. An important advantage of IaaS is that users always using the latest technology and customers can achieve a much faster service delivery and time to market. Amazon Web Services (AWS) is the most successful IaaS provider to date. Other examples are GoGrid, Layered Technologies, Flexiscale, etc. 3. The Characteristics of Cloud Computing. Cloud computing distinguishes itself from other computing paradigms, like Grid computing, Internet computing, in the following characteristics. With these characteristics, Cloud computing is the promising paradigm for delivering IT services as computing utilities [1,4,5].
36 F.-T. LIN AND T.-S. SHIH 3.1. Virtualization technology. Virtualization technology partitions hardware and provides flexible and scalable computing platforms. The resources that users required come from Cloud instead of visible entity. Users can complete all they want through net service using a notebook, a PC, or even a mobile phone. For examples, Amazon s Cloud computing is based on server virtualization technology. Amazon released Xen-based Elastic Compute Cloud (EC2), simple storage service (S3) and structure data storage service (SimpleDB) during 2006 and 2007, under the name Amazon Web Service (AWS). Since then, AWS becomes the pioneer of Infrastructure as a Service (IaaS) provider and Amazon is the current leader of Cloud provider based on the IaaS model. Virtualization technology is therefore well suited to a dynamic Cloud infrastructure providing sharing, manageability and isolation. 3.2. Scalability. The scale of Cloud is large and can extend dynamically to meet the increasingly requirement. Cloud services and computing platforms offered by Cloud computing could be scaled across geographical locations, hardware performance and software configurations. For example, Amazon, IBM, Microsoft and Yahoo, they each have more than hundreds of thousands servers. The computing platforms are then flexible enough to adapt to various requirements of a potentially large number of users. 3.3. On-demand self-service. Cloud computing provide resources and services for users on demand. Cloud is a large resource pool that users can buy according to their needs. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service s provider. Users can thus customize and personalize their computing environments. In a nutshell, Cloud is just like running water, electric and gas that can be charged by the amount that you used. 3.4. User-centric interfaces. Cloud computing services are accessed with simple and pervasive methods. Cloud interfaces do not force users to change their working habits and environments. Instead, users employ computing platforms as easily as they access a traditional public utility. Cloud interfaces are location independent and can be accessed by web services framework and Internet browser. The computing environment provided by Cloud computing can guarantee quality of services for users. 3.5. Security. Corporate information is not only a competitive asset, but it often contains information of customers, consumers and employees that, in the wrong hands, could create a civil liability and possibly criminal charges. All companies must ensure adequate security for the storage and processing of data, whether they venture into the Cloud or maintain traditional processing centers. Security concerns may be magnified by the dynamic nature of the Cloud environment. Thus Cloud computing must provide dependable and secure data storage center, preventing such as data loss, hacking or stealing. 4. A Well-Known Practice Amazon Web Services. Amazon Web Services (AWS) are a set of services that provide programmatic access to Amazon s ready-to-use computing infrastructure [9]. The robust computing platform that was built and refined over the years by Amazon is now available to anyone who has access to the Internet. Since early 2006, AWS has provided companies of all sizes with an infrastructure web services platform in the Cloud. The AWS provides a highly reliable and scalable infrastructure for deploying web-scale solutions, with minimal support and administration costs, and more flexibility than you have come to expect from your own infrastructure, either on-premise or at a datacenter facility. With AWS you can requisition compute power, storage, and other services gaining access to a suite of elastic IT infrastructure services as your business demands them. With AWS you have the flexibility to choose whichever development platform or programming model makes the most sense for the problems you are trying
ICIC EXPRESS LETTERS, PART B: APPLICATIONS, VOL.1, NO.1, 2010 37 to solve. You pay only for what you use, with no up-front expenses or long-term commitments, making AWS the most cost-effective way to deliver your application to your customers and clients. Figure 3 introduces you the AWS terminology and helps you to understand how the applications interact with different Amazon Web Services and how different services interact with each other. Amazon SimpleDB is a web service that provides the core functionality of a database real-time lookup and simple querying of structured data without the operational complexity. Amazon Relational Database Service (RDS) provides an easy way to setup, operate and scale a relational database in the Cloud. You can launch a DB Instance and get access to a full-featured MySQL database and not worry about common database administration tasks like backups, patch management etc. Amazon Simple Queue Service (SQS) is a reliable, highly scalable, hosted distributed queue for storing messages as they travel between computers and application components. Amazon Elastic Compute Cloud (EC2) is a web service that provides resizable compute capacity in the Cloud. You can bundle the operation system, applications and associated configuration settings into an Amazon Machine Image (AMI). You then use AMI to provision virtualized instance and load it into the EC2 service. Also, you can purpose On-Demand Instances in which you pay a low, one-time payment and receive a lower usage rate to run the instance. Amazon S3 is highly durable and distributed data store. With a simple web services interface, you can store and retrieve large amounts of data as objects in buckets at any time, from anywhere on the web using standard HTTP verbs. Copies of objects can be distributed and cached at 14 edge locations around the world by creating a distribution using Amazon CloudFront service. Amazon Elastic MapReduce provides a hosted Hadoop framework running on the web-scale infrastructure of EC2 and S3, and allows you to create customized JobFlows. JobFlow is a sequence of MapReduce steps. Amazon Virtual Private Cloud (VPC) allows you to extend your corporate network into a private Cloud contained within AWS. Amazon VPC uses IPSec tunnel mode that enables you to create a secure connection between a gateway in your data center and a gateway in AWS. AWS delivers a number of benefits for IT organizations and developers alike, including cost-effective, dependable, flexible and comprehensive. Using AWS, you are free (1) to use the programming model, language, or operating system of your choice, (2) to pick and chose the AWS products that best satisfy your requirements, (3) to consume as much or as little and only pay for what you consume and (4) to use the system tools you have used in the past and extend your datacenter into the Cloud. Figure 3. Structure of Amazon web services 5. Conclusions. This paper reviews the state-of-the-art advances of Cloud computing and presents some functional views on Cloud computing. The advantages of Cloud computing are (1) satisfying business requirements on demand, (2) lowering the cost and energy-saving and (3) improving the efficiency of resource management. However, some challenges to be further studied are (1) privacy, (2) the continuity of service and (3) service migration. Also, Cloud computing can be classified as SaaS, PaaS and IaaS. SaaS provide
38 F.-T. LIN AND T.-S. SHIH services to end users, while IaaS and PaaS provide services to independent software vendors and developers. The AWS Cloud offers highly reliable pay-as-you-go infrastructure services used as the best practice of Cloud architecture in this study. The perspective research aims to contribute the development of Cloud computing paradigm and provides the information to evaluate the existing systems. REFERENCES [1] M. Armbrust, et al., Above the clouds: A Berkeley view of cloud computing, Tech. Rep. No. UCB/EECS-2009-28, 2009. [2] P. Barham, et al., Xen and the art of virtualization, Proc. of the 19th ACM Symposium on Operating Systems Principles, New York, pp.164-177, 2003. [3] S. Ghemawat, H. Gobioff and S. T. Leung, The Google file system, SOSP, 2003. [4] K. Keahey and T. Freeman, Science clouds: Early experiences in cloud computing for scientific applications, Proc. of Cloud Computing and Its Applications, Chicago, IL, 2008. [5] J. Peng, X. Zhang, et al., Comparison of several cloud computing platforms, Proc. of the 2nd International Symposium on Information Science and Engineering, pp.23-27, 2009. [6] L. Qian, Z. Luo, Y. Du and L. Guo, Cloud computing: An overview, Lecture Notes in Computer Science, vol.5931, pp.626-63, 2009. [7] B. P. Rimal, E. Choi and I. Lumb, A taxonomy and survey of cloud computing systems, Proc. of the 5th International Joint Conference on INC, IMS and IDC, pp.44-51, 2009. [8] L. Wang and G. V. Laszewski, Scientific Cloud Computing: Early Definition and Experience, http:// cyberaide.googlecode.com/svn/trunk/papers/08-cloud/vonlaszewski-08-cloud.pdf. [9] Amazon Web Service, http://aws.amazon.com. [10] Gartner s Hype Cycle Special Report for 2009, http://www.gartner.com/displaydocument?id=1108 412. [11] Google App Engine, http://code.google.com/appengine/, 2010. [12] IBM Blue Cloud Project, http://www-03.ibm.com/press/us/en/pressrelease/22613.wss/, 2009. [13] Microsoft Azure, http://www.microsoft.com/azure. [14] OpenNEbula Project, http://www.opennebula.org/, 2009. [15] Reservoir Project, http://www-03.ibm.com/press/us/en/pressrelease/23448.wss/, 2009.