During the past few years, cloud computing has become a key IT buzzword. Although the definition of cloud computing is still "cloudy", the trade press and bloggers label many vendors as cloud computing vendors, and report on their services and issues. Cloud computing is in its infancy in terms of market adoption. However, it is a key IT megatrend that will take root. This article reviews its definition and status, adoption issues, and provides a glimpse of its future and discusses technical issues that are expected to be addressed.
Perhaps the simplest working definition of cloud computing is "being able to access files, data, programs and 3 rd party services from a Web browser via the Internet that are hosted by a 3 rd party provider"[Hodson08] and "paying only for the computing resources and services used".
Often cloud computing is used synonymously, inaccurately in my view, with such terms as utility computing (or on-demand computing), software as a service (SaaS), and grid computing. Of these, as I will show below, utility computing and SaaS are merely two of several forms of service cloud computing can provide. Grid computing is simply one type of underlying technologies for implementing cloud computing.
The term "cloud" in cloud computing is used synomously with "data center". Today the computing field is able to envision transitioning into the cloud computing era because of the breath-taking advances in computing and information technologies during the past three decades. The advances include the buildup of the Internet backbone, the widespread adoption of broadband access to the Internet, the powerful network of servers and storage in data centers, the advances in high performance and scalable software infrastructure for the data centers and the Web, etc.
The architecture of a cloud includes several key modules [Wikipedia]: user interaction interface, system resource management module with a services catalog, and resource provisioning module. The system resource management module manages a massive network of servers running in parallel. Often it also uses virtualization techniques to dynamically allocate and deallocate computing resources.
Cloud computing offers the following major advantages to the users.
The above advantages make cloud computing a compelling paradigm for servicing computing needs for both enterprises and end customers. As such, many players, both large and small, are now entering or planning to enter the emerging cloud computing market.
Forms of Service and Players
The forms of service that cloud computing provides today may be broken down into managed services, SaaS, Web services, utility computing, and platform as a service (PaaS) [Gruman08]. The ideas behind these forms of service are not new. The fact that the users can tap into these services from Web browsers via the Internet makes them "cloud" services.
A managed service is aimed at delivering an application to an enterprise, rather than to end customers directly. This form of service has been available for a decade. There are many types of managed services provided via the Internet, including virus-scanning services for email, spam-filtering services (Google/Postini, etc.), security services (SecureWorks, IBM, Verizon, etc.), desktop management services (CenterBeam, Everdream, etc.) [Gruman08].
There are numerous SaaS vendors (formerly known as application service providers). They run a single application in a data center, and deliver the functionality via the Internet to the users. Enterprise SaaS vendors include salesforce.com (for sales force applications), Oracle/Siebel (CRM applications), Workday (for ERP applications), Citrix (meeting applications), and numerous others. SaaS desktop applications for end users, include Google Apps, Zoho Office, Microsoft WindowsLive, etc. Google Apps include Gmail, Google Talk, Google Calendar, Google Docs (documents, spreadsheets, presentations, collaboration), etc. Microsoft Windows Live includes Hotmail, Messenger, and Photo Gallery. Internet portal sites, Internet search engines, and Internet social networking sites are essentially SaaS vendors for end customers.
Web services are similar to SaaS. Web service providers offer APIs that application developers can use in developing applications. Examples of Web services APIs include Google Maps, ADP payroll processing, the U.S. Postal Service, Bloomberg, credit-card processing services, etc. [Gruman08].
Many players have recently started to offer computing resources, that is, virtual servers and storage as utility computing service. These include such heavyweights as Amazon, Sun Microsystems, IBM, and AT&T; and new vendors such as Nirvanix, Hatsize, Joyent, Cloudworks, etc [Foley08b][Hoover08a][Wikipedia]. Amazon offers Amazon Web Services (AWS), which today consists of Simple Storage Service (S3), Elastic Compute Cloud (EC2), Simple Queuing Service (which uses S3), and SimpleDB. Amazon charges 15 cents a month per gigabyte of S3 storage, and 10 to 80 cents per hour for EC2 server. Amazon has 370,000 AWS customers. Amazon offers a 10% credit if S3 availability falls below 99.9% in any month. Many startup SaaS vendors provide their services on AWS [Hoover08a]. Some vendors offer entire virtual desktops with the look and feel of Microsoft Windows to those who cannot afford real desktops. Examples are Desktop Two, Zimdesk, GOPC, and Sun Microsystems' Secure Global Desktop. These virtual desktops come with open source Web applications that run with Flash or Java [Naone07].
PaaS also is a variation of SaaS. PaaS delivers an application development environment (platform) as a service, typically with computing resources for hosting the applications developed on the platform. Vendors include salesforce.com (Force.com), Coghead, Google (Google App Engine), Yahoo (Pipes), and Dapper.net [Bruman08]. Google's application development platform, Google App Engine, lets application developers develop Python-based applications, and hosts the application at no cost with up to 500 MB of storage [Hoover08a].
2 ADOPTION ISSUES
There are several concerns that the users have regarding the adoption of cloud computing. They include availability, security and privacy, support, interoperability, and compliance. Of these, compliance is generally relevant to only the enterprise. All of the concerns are the same ones that the users have always had even with on-premises computers and software. To a good extent, the users become newly conscious of the concerns, because their data, applications, and computing resources will no longer be under their control.
In this section, I will outline my views on how the cloud computing market will evolve in the next few years, and key technical issues that will be given serious attention over the next several years.
To help cloud computing take root, it will be necessary to adapt various mature technologies to the cloud computing paradigm. I list some of them below.
In t his article, I first reviewed the definition, major advantages, forms of cloud services and some of the key providers of each form of cloud service. I then summarized the adoption status, issues, and my views on them. Next, I offered my prognosis of how the market may evolve, and a list of research issues. Because of the compelling advantages, and because of the readiness of the enabling technologies, I expect that cloud computing will become a key computing paradigm for the next 5 to 10 years. It will have far reaching consequences on the distribution model for software, and even commodity hardware. It will also make it easier for small to medium businesses to offer new services, as we are already seeing startups offer SaaS services on Amazon's Web Services.
This research was supported by the MKE (Ministry of Knowledge Economy), Korea, under the ITRC (Information Technology Research Center) support program supervised by the IITA (Institute of Information Technology Advancement) (IITA-2008-(C1090-0801-0046))
[blogspot] http://cloudcomputing.blogspot.com/Cloud computing: adoption fears and strategic innovation opportunities",
[Foley08a] John Foley: "Private Clouds Take Shape", InformationWeek, August 9, 2008.
[Foley08b] John Foley: "20 Cloud Computing Startups You Should Know", InformationWeek, September 20, 2008.
[Gruman08] Galen Gruman: "What Cloud Computing Really Means", InfoWorld, April 7, 2008. (Also in The New York Times, with Eric Knorr)
[Han08] Jaesun Han: "The Future of Cloud Computing and Server Platform", http://www.web2hub.com/blog/82 (in Korean) February 1, 2008.
[Hodson08] Steven Hodson: "What Is Cloud Computing?", http://www.winextra.com/2008/05/02/what-is-cloud-computing, May 2, 2008.
[Hoover08a] J. Nicholas Hoover and Richard Martin: "Demystifying the Cloud", I nformationWeek Research & Reports, pp. 30 -3 7, June 23, 2008.
[Hoover08b] J. Nicholas Hoover: "Outages Force Cloud Computing Users To Rethink Tactics", I nformationWeek, August 16, 2008.
[InformationWeek] "Amazon's S3 Cloud Service Turns Into A Puff of Smoke", I nformationWeek NewsFilter, August, 2008.
[McLaughlin08] Laurianne McLaughlin: "11 Cloud Computing Vendors to Watch", NetworkWolrd, March 13, 2008.
[Naone07] Erica Naone: "Computer in the Cloud", MIT Technology Review, September 18, 2007.
[Stone08] Brad Stone: "Web Filtering Moves to the Cloud", The New York Times, April 4, 2008.
[Weber08] Jonathan Weber: "Cloud Computing", Times Online, May 5, 2008.
[Wikipedia] "Cloud Computing", http://en.wikipedia.org/wiki/Cloud_computing
[Zeman08] Eric Zeman: "Google Posts an Article to Explain the Benefits of Cloud Computing to the Enterprise", InformationWeek, June 18, 2008.
About the author
Won Kim: "Cloud Computing: "Status and Prognosis", in Journal of Object Technology, vol. 8, no. 1, January-February 2009, pp. 65-72 http://www.jot.fm/issues/issue_2009_01/column4/