Professional Documents
Culture Documents
Y GOVINDA RAMAIAH Research Scholar, Department of CSE, J N T University Hyderabad, Andhra Pradesh, India. E-mail: ygovinda@gmail.com Dr. G VIJAYA KUMARI, Professor, Department of CSE, J N T University Hyderabad, Andhra Pradesh, India. E-mail: vijayakumari.gunta@gmail.com
Abstract
The traditional computing paradigm prevailing today needs the application software, other programs and updates to be installed and run on our local machine. Upgrading the hardware and software as per the changing computational needs is a costlier affair. The issue is more obvious in the case of real-time and scientific applications, which demand high performance computing with large data centres to be set up and maintained. Recent advances in the Information and Communication Technologies have led to the evolution of an emerging computing model called cloud computing, which is considered as a paradigm shift from the traditional computing model. The basic idea of the cloud computing is to provide computing power as a utility like water, electricity, gas, telephony etc., in the form of services via the internet. Cloud computing facilitates the users to access scalable computing services viz., Infrastructure (IaaS), Platform (PaaS), and application Software (SaaS), on demand, from anywhere, using any internet enabled device. The model is considered as economical because users pay only for the amount of resources consumed (usually metered on time basis) while accessing the services. Moreover, the cloud resources are provisioned according to a Quality of Service (QoS) based SLA (Service Level Agreement) between the user and the service provider. It is expected that by the end of the next decade the entire world of information technology will be switched over to the mode of cloud computing. Since the cloud computing technology is in its infancy there is an ample scope for further research and advancement. In this paper we discuss about all the key issues related to this promising technology to provide a complete picture, which include cloud enabling technologies, both the basic and market oriented cloud computing architectures, key characteristics, pros and cons, a survey regarding the leading cloud vendors with current trends, and research challenges. We hope that the paper serves as a basis for the researchers and interested audience who wish to carry out further study in the area. Keywords: Cloud paradigm, research challenges, market oriented cloud architecture.
1. Introduction
The idea of delivering the computing power as a utility was first put forth by John McCarthy [1] in 1961 and was reinforced by Leonard Kleinrock [2] in 1969, but, was lacking technological support to realize. The last decade has witnessed rapid advances in many key technologies pertaining to Information and Communication leading to the 21st century vision of utility computing, which involves delivery of commoditized computing services like public utilities such as electricity, water, gas, and telephony [3]. Most prominent of these technologies belong to the category of parallel and distributed computing developed with an objective to achieve either high performance or high availability economically. The list of such technologies include, Cluster computing, Grid computing, Peer to peer computing, Ubiquitous computing and Mobile computing. Of the communication technologies backing these, web 2.0 is the key role player. Web services based Service oriented Architecture (SOA) [4, 5] and Virtualization technologies shown a way enabling the computing power to be delivered as a utility. The cloud symbol is used to represent any network in network diagrams [17]. But, very often it is used to represent the internet. The term cloud as a metaphor for the internet has been around since 1990s. However, the first high profile usage of the term cloud computing was by Eric Schmidt of Google in August 2006 and became popular since the day Amazon launched the Elastic Computing Cloud (EC2) [6,7,8] . Cloud computing can be considered as a confluence of all the technologies listed out earlier, and therefore may be treated as a superset of these technologies. Forming a thorough ground in this paradigm demands at least a brief knowledge about its enabling technologies. In the section 2 of this paper we discuss briefly the cloud forming technologies. We tried to present a more appropriate definition for the term cloud computing, a glossary of important terms related and cloud computing characteristics in section 3. Section 4 describes the architectures of cloud computing and its market oriented model. Section 5 gives a concise, but, comprehensive survey of various cloud platforms and services offered by different leading vendors. Section 6 discusses pros and cons of the cloud paradigm and finally in section 7 we outline the issues and challenges the cloud computing paradigm poses for the research community for its complete maturity and widespread adoption.
Parallel computing, which involves simultaneous execution of more than one tasks can be considered as the starting point in the evolutionary scenario of cloud computing. Parallel computers, which aim at speeding-up the computational process, form the basis for high performance computing. Apart from the design of specialized algorithms and execution environments, parallel computing requires hardware support in the form of multi-core processors or multiple processors (Symmetric Multi Processor and Massively Parallel Processor systems) for significantly enhanced performance. The evolution of distributed systems, which involves independent networked computers working together for a single objective, contributed to a great extent with flexible and scalable architectures to achieve the high performance in a most economical manner. R. K. Buyyas [3] effort in defining and distinguishing the cluster, grid and cloud indicates that all the three computing architectures basically belong to the category of distributed systems. The term cluster itself is ambiguous and Jack Dongarra [9] has formulated a framework in distinguishing different classes of clusters and characterizing parallel architectures that seems to be influential. In general, a cluster is an integrated collection of independent nodes (workstations or PCs) interconnected by a high-speed network that gives illusion of a single system. Clusters are confined to a building or department of an organization location wise, and to a single administrative domain for its operation. Grid computing, inspired by electrical power grid, involves a variety of geographically distributed computational resources like high-end servers, supercomputers, clusters, storage systems, data and other specialized resources, that work collectively for a large scale application demanding enormous resources [3,10]. Since a grid consists of loosely coupled heterogeneous resources and is usually a collaborative arrangement via a wide area network from multiple administrative domains, it lacks single system image. Moreover, the selection and aggregation of resources in a grid is done dynamically at run time. The grid scheduler called resource broker enables quality of service (QoS) based resource allocation as per the user requirements [3]. A grid computing environment may be configured to provide computational, data, application, information, and knowledge services [10]. Parallel to the above, Internet and World Wide Web have evolved and revolutionized not only the IT industry, but, also our day to day life. Specifically, the second generation of the www, often designated as web 2.0, contributed to a great extent in the realization of utility computing model. The major characteristics of web 2.0 that reveal this fact are, its read/write nature (users can publish their own content as well as consume) allowing communication and collaboration between people, capability to use internet as a platform for programming, application development, deployment and delivery as a service, with APIs facilitating communication between applications [11,12,13]. The underlying technologies of web 2.0 enabling these characteristics are, Asynchronous JavaScript and XML (AJAX) that enable rich internet applications (RIAs), Cascading Style Sheet (CSS), XHTML, REST or XML Webservice APIs, XMLHTTPRequest (XHR) object capable of making dynamic HTTP calls, XACML over SOAP for access control between organizations and domains [11,12,13]. Web services based Service Oriented Architecture (SOA), which comprises loosely coupled interoperable services, is going to be a promising software engineering practice for agility in application development [4]. In SOA applications use services available over the www to develop new applications which may in turn be made available as services. A service is a well defined and self-contained business function that will not depend on the state of other services. The standard protocols that support communication between web services are SOAP and HTTP. Other technologies backing SOA include XML, WSDL, UDDI, and WS-Security standards. Finally, the most important technology that made the dream of delivering computing as a utility come true is virtualization. In fact the cloud can be considered as a pool of virtualized resources. Virtualization emulates a computer including all its resources (CPU, memory, network interfaces and other devices) by means of a software layer called hypervisor. By installing different operating systems (guest OS) on the hypervisor several virtual machines can be created and run simultaneously in isolation on the same physical machine [14]. Such virtual machines customized to the needs of the user are offered on demand and accessed via the internet. Further discussion on virtualization in the light of cloud computing is covered in the later sections of this paper. Fig.1 shows the relationship between clusters, grids and clouds. The fact being conveyed here apart from the differences that exist among them is, clouds can be implemented over other systems either individually or in any combinations based on the scalability requirements and available infrastructure.
Clouds
Grids Clusters
3. Cloud computing
In this section we will focus on explaining the cloud computing paradigm by presenting and examining a concise and more appealing definition for cloud computing, its characteristics, types and related terminology. Luis M. Vaquero [15] analyzed about 22 definitions for cloud computing in an attempt to give a comprehensive definition. Of all the definitions that were examined in this work R. K. Buyyas definition is convincing and a bit closer to the utility computing model. Others are mostly excerpts or opinions of various experts. David S. Linthicum [17] presented a definition given by National Institute of Standards and Technology (NIST), and L. Wang [18] proposed his own. Besides the lack of commonality in these definitions, certain characteristics are attributed to cloud computing and are treated essential. They are: a) On-demand provisioning of resources: Users can access the resources in the cloud whenever they need. b) Elasticity: The capabilities and resources in the cloud can quickly scale-up or scale-down dynamically according to the changing user requirements. c) Location independence: To support the dynamic scalability, resources from different locations, often geographically dispersed, need to be pooled. Users may not be aware precisely where the data and application are located. d) Pay per use: The usage of resources is metered and charged based on a pricing model. Users pay only for the amount of resources they consume. e) Ubiquitous access: Cloud resources should be accessed from any where via any internet enabled devices. f) Service-oriented: The cloud resources or capabilities are provisioned in the form of services via a web browser. That means the required amount of computational resources like processing power, memory, storage, software development platforms, applications all can be provided in the form of services via the internet. The only thing user need to access these services is, any internet enabled device like a PC, laptop, or a smart mobile phone the capability of which matches to the type of service being accessed. Also, the desired quality of service (QoS) can be obtained by means of a service level agreement (SLA) between the service providers and consumers through negotiation [3]. All these happen on a self-service basis through an automated system without any human interaction between provider and the service consumer. Thus, it is obvious that computing power can be provided as a utility and cloud computing is a promising paradigm that enables the utility computing model. The elastic nature of a cloud enables it to support multitenancy allowing many users access the cloud services simultaneously in isolation. Virtualization of resources plays a key role in achieving this. Also, this will create an illusion like cloud is a pool of infinite amount of computing resources. These entire characteristics together project the cloud computing purely as a business model. The thing we want to make clear is any computing system that possesses these characteristics only should be considered as a cloud. This notion also differentiates the clouds from other models like grids and clusters. However this will contradict the concepts of private cloud and community cloud to certain extent that we discuss later in this section under the heading types of clouds. Now, we propose the following definition for cloud computing in harmony with R. K. Buyyas [3] idea of cloud as a utility computing model. The definition satisfies all the key characteristics of the cloud computing model discussed earlier. Some people may argue that, shifting the computation away from the local desktop itself satisfies the requirement to designate a system as a cloud. But, we point out clearly that this is one important feature to qualify a system to be designated as cloud but not sufficient enough to define it as a complete cloud computing paradigm. Proposed definition: Cloud computing is a distributed computing paradigm, which consists of a virtualized pool of dynamically scalable resources that are provisioned on demand in the form of metered services via the internet for ubiquitous access, through a quality of service based service level agreement between the service provider and the consumer, allowing the users to pay only for the amount of resources consumed over a period of time. Types of clouds: Depending on the way a cloud is deployed four types of clouds are found in the literature of cloud computing [6, 17, 19, 21, 24, 26, 27, 28, 29]. Figure 2 illustrates these concepts. 1. Public cloud: If the infrastructure or services that constitute a cloud are owned by a single organization and are accessible to anybody on a pay per use basis, the system is called public cloud. Public clouds are also called as external clouds. Since public cloud features all the characteristics described above, it may be treated as a perfect cloud computing model. 2. Private cloud: If the infrastructure or services that constitute a cloud are owned or leased by a single organization and are used exclusively by that organization, the system is called private cloud. The phrase owned or leased has an implication that further clarifies and classifies the private cloud concept. As per this, private clouds may be on-premise (owned) or externally hosted (leased). a. On-premise private cloud: if the infrastructure or services that constitute a cloud are hosted within the own data centre of an organization, exclusively for its internal use, it is called an internal cloud or on-premise cloud. This system doesnt satisfy certain characteristics of cloud computing; elasticity, location independence and pay per use, and therefore can not be treated as a full-fledged cloud computing model. However, it is best suited for the environments that demand high security with complete control. Also, the model suffers from the fact that it may not take the benefits of true cloud computing like economy of scaling, and freedom from administrative and maintenance issues.
Externally hosted private cloud: If the infrastructure or services that constitute a cloud are leased from an external third party cloud service provider and used exclusively by a single organization for its internal use, it is called an externally hosted private cloud. It is obvious that this system satisfies all the requirements to be designated as a true cloud computing model. The issues like full guarantee of privacy can be resolved through an SLA between the service provider and the consumer. 3. Community cloud: If the infrastructure or services that constitute a cloud are formed by several organizations on sharing basis to support a community with similar objectives, and policies it is called a community cloud. Inspired by grid computing and self management advances of autonomic computing, community clouds provide a vendor independent system by pooling the under utilized resources of users as a virtual data centre , with nodes capable of performing all the three major roles; producer, consumer and coordinator [26]. Community cloud is considered as an open equivalent of a public cloud. Due to lack of vendor control, issues such as overutilization of resources by a single consumer arise. Even though A. Marinos [26] suggest a solution like introduction of community currency, the real possibility is still to be examined, and may face problem in popularising the concept. Again since the model is lacking the characteristics like pay per use and elasticity it will not qualify as a true cloud computing model. The nimbus platform based science cloud is an example for community cloud [47]. 4. Hybrid cloud: If the infrastructure or services that constitute a cloud are formed by combining any two or all of the above three types (i.e. 1+2 or 1+3 or 2+3 or 1+2+3), the system is called a hybrid cloud. This model offers more flexibility by resolving the various issues associated with other models, for example, security and privacy concerns of public cloud, while preserving the characteristics of a true cloud computing paradigm. A note on the intercloud initiative: An intercloud [6] is a cloud of clouds similar to the concept of internet as network of networks. The idea is based on the assertion that, even though a cloud creates an illusion like a repository of infinite resources, there may be times at which a clouds resources (computational or storage) saturate and the required resources are obtained from other clouds on a pay per use basis. It is expected that the idea of intercloud creates new business opportunities among the cloud vendors. Cloud interoperability issues pose a great challenge to this initiative.
b.
Public cloud
On-Premise cloud
Figure 2: Types of clouds Intercloud and hybrid cloud systems both satisfy the phrase cloud of clouds. However, a distinction can be made with the assertion that, all hybrid clouds may be regarded as interclouds, but, all interclouds are not hybrid clouds because intercloud may be formed between the clouds of similar types. Cloud terminology: Apart from the terms introduced related to the cloud computing so far, there are certain other terms that we come across in the literature and industrial scenario of cloud computing, which are given hereunder [30, 31]. Some more terms are described in the later sections of this paper. 1. 2. 3. 4. Cloud app : application software designed to run in the cloud, which can be accessed via the internet as a service Cloud bridge: Integrating the components of an application with multiple cloud environments (internal or private or public) Cloud portability: The feasibility of moving applications developed in one cloud environment to another cloud environment. It depends on the underlying infrastructure and platform provided by different vendors. Vendor lock-in: The inability to move an application between the clouds provided by different vendors. If the application can not be moved between any clouds including an on-premise cloud, the term cloud lock-in is used.
5.
Cloudburst: The dynamic provision of additional resources by a public cloud to an application running on a private cloud when the workload exceeds the capacity of the private cloud. The term is some times attributed to the failure of a cloud computing environment to meet the sudden increase in the workload. Cloudstorm: occurred. when multiple cloud computing environments are connected together, we say cloudstorm
6. 7. 8. 9.
Cloudware: infrastructure level software that enables building, deploying, running or managing applications in a cloud computing environment. Cloudsourcing: Outsourcing the applications or storage via the cloud services Cloudwashing: Using the term cloud computing for the existing products and services a company offers to gain market benefits. A vendor who does the same by rebranding his products and services is calledcloud envy.
10. Cloud operating system: Software designed to manage the complex resources in a cloud computing environment and serves as a platform to run the applications in the cloud, just like an operating system that manages the resources of a computer.
Target Users
Salesforce.com, Google Apps
Software-as-a-Service (SaaS)
End user
Platform-as-a-Service (PaaS)
Infrastructure-as-a-Service (IaaS)
Storage
CPU
Memory
Vendors
Figure 3: Cloud computing architecture We discussed earlier in the general cloud computing architecture that all the cloud resource management software belongs to the layer 3, the service offering of which is designated as PaaS. The details of such components for the market environment are shown in the figure 4. The service requests from the users or brokers on behalf of the users are submitted to the service request examiner and admission control component exposed as a service via the web browser. Up on receiving the request, the request examiner and admission control module analyses the QoS requirements to decide whether to accept the request or not. For this it needs the interaction between the SLA manager, virtual machine monitor, and the resource manager and scheduler components for the availability and existing status of the resources. The role of the SLA manager is to ensure that the QoS parameters are satisfied. The VM monitor continuously checks the availability of virtualized system resources. In case the existing system status cannot meet the QoS parameters, the request is rejected; otherwise the requests are accepted and communicated to the resource manager and scheduler component which allocates the resources. Thus, the type of service requested (IaaS or PaaS or SaaS) is delivered. The accounting mechanism maintains the logs and service usage details. The logs maintained can be used by the resource manager and SLA manager components to serve the request examiner and admission control module in making effective decisions regarding service requests. The service usage details maintained by the accounting component are used by the metering mechanism, which converts the same in to the form of chargeable units. These units are generally in the form of amount of resource consumed on time basis. The billing mechanism aids in the generation of bills for the units of resources consumed and delivers the same to the user. Billing rates may depend on the various factors like peak or off-peak time usage, demand for the resources and type of subscription (hourly or monthly or yearly). The global cloud exchange: In order for cloud services to be commoditized through standard interfaces for its complete maturity, R. K. Buyya [3] suggested a global cloud exchange model based on the real-world exchanges. A schematic diagram of the same is presented in figure 5. Four categories of people are involved in the whole system: Providers, brokers, users and auctioneers. The roles of brokers and auctioneers can be automated. A service provider publishes his offers in a global market directory. They can change the prices of services through a mechanism that takes care of the current market conditions, demand and the availability of resources. Users or the enterprises seeking the cloud services place the request for capacity with a broker who is capable of processing many requests. Brokers, through negotiation or bidding buy the capacity from the providers and sublease it to the consumer. These bids are cleared by the auctioneers periodically. All the three parties, consumers, brokers and providers are bound to an SLA for QoS requirements and related compensations. A service level agreement specifies the details of services to be provided, quality agreed up on, penalties for violating the agreement or failure in providing the expected quality of service etc. The financial transactions with respect to the SLAs are facilitated through the banking system. The possibilities of adopting such system universally are still to be explored, which poses many challenges.
Service consumers/ brokers Cloud interface (Web browser) Service requests Service delivery
Software-as-a-Service (SaaS)
Billing
SLA Manager
Platform-as-a-Service (PaaS)
Storage
CPU
Memory
Request capacity
Compute Cloud
Compute Cloud
Request capacity
User
GoGrid [40]
Windows and Linux based server images, Cloud storage , Hybrid hosting
Xen Virtualization technology GoGrid's API is language independent , Supports Java, Python Ruby on Rail, .NET With windows Azure
Interoperability
In progress with NASAs Nebula based cloud computing platform SAS 70 Compliance, Hardware VLAN Segmentation
SAS 70 Compliance, Hardware VLAN Segmentation Dedicated Firewall Options VPN Options Available with 100% uptime Pay-as-you-go Storage costs free upto 10GB, and chargeable beyond monthly. Free data transfer in and out, Server usage is billed by RAM hour. Charged hourly and monthly, Volume based discounts
Available with 99.95% uptime Pay-as-you-go VM instances are charged differently with three schemes; on-demand (hourly basis), reserved (1 year or 3 years or hourly) and spot instances (price varies based on demand and supply)
Available with 100% uptime Pay-as-you-go Storage costs on monthly basis Separate charges for windows and linux server images basedon RAM and disk sizes
Virtualization
Hyper-V Hypervisor
Multitenant kernel architecture, Alliance with VMware (VMforce) to support Java applications Python, PHP, Java, .NET, Ruby, Eclipse based IDE, programmable UI, web tool kit, Apex code editor
Map reduce Programming model, Java, Python, Eclipse, SDK for Python and Java, web toolkit, and APIs With platfroms of clouds based on same language framework, With IBM middleware environment and force.com Sandboxing for Java and Python based applications, US safe harbour
Interoperability
With any other platform containing the language libraries same as Azure. Firewalls, SSl client certification, filtering routers, optional sandboxing technology, audited administrative operations, US safe harbour, ISO/IEC 27001:2005 and SAS 70 TypeI and TypeII certified Available with 99.9% uptime Based on compute, storage and data transfers. Half-yearly subscription
Portability of applications with clouds based on same language framework. In progress with Googles app Engine All Physical, host, database, logical network, and transmission securities, US safe harbour, ISO27001, SAS 70 typeII and Sys trust certified
Available with 100% uptime Free up to 500MB of storage for an application and up to 5 million page views per month, usage beyond this attract charges based on CPU time
Available with 99.9% uptime Free, enterprise, and unlimited service based
Oracle [36]
NetSuite [38]
Financial accounting and Enterprise Resource Planning , CRM , and Ecommerce softwares on demand through suitecloud.
Salesforce.com [35]
CRM on demand with sales cloud (for sales and marketing), and service cloud (for customer service)
CRM with various deployment models; onpremise, Privately managed on-demand, Shared ondemand , and Hybrid CRM
Disaster recovery with replicated centres at different geographical locations, data security with 128-bit SSL encryption and advanced intrusion detection , physical security features such as biometric access restrictions and round the clock armed guards, Multilevel VLAN architecture, Multilevel redundant firewalls Available
multiple layers of data redundancy, comprehensive physical security and disaster recovery, User role-based Access, layers that separate data from application so that users can access only the application not others data, 128-bit Secure Socket Layer Data Encryption, well defined privacy policy,
SLA
Available
Available
Available with 99.9% or more uptime Per user per month basis, sales cloud (single user, group, professional, enterprise, and unlimited models) min $5 and max $250, service cloud (professional, enterprise, unlimited models) min$65 and max $250
Pricing model
Per user per month or Per user per year basis $129 per month per user
which software frameworks such as MapReduce work and legacy distributed file systems [28], Storage scalability [19,28], and performance unpredictability in case of HPC work load [19] demanding new methods of scheduling for cloud computing environment.
8. Conclusions
Cloud computing is unarguably a revolutionary technology promising the delivery of computing power as a utility. The model is considered as paradigm shift because the applications run in the datacentres located remotely rather than installed and run on the local machine. The cloud computing architecture suggests three forms of services, IaaS, PaaS and SaaS for the delivery of computational power via the internet. In this paper we discussed all the key aspects of cloud computing and proposed a new concise and appealing definition. We tried to alleviate the ambiguity related to various aspects of cloud computing and its related technologies with our clear cut views. We reinforced the ideas of market oriented cloud model and the concept of global cloud exchange for further work in the direction of implementation. The state-of-the-art in cloud computing is presented in the form of a brief survey regarding leading IaaS, PaaS and SaaS vendors giving a snapshot of the current market scenario. Also, we presented a brief discussion of major issues concerned with adoption of cloud computing and related technical and research challenges. We strongly believe that the cloud computing paradigm transforms the entire IT scenario ensuring the realization of the 21st century vision of delivering computing power like any other public utility with in the coming few years.
References:
[1] http://computinginthecloud.wordpress.com/2008/09/25/utility-cloud-computingflashback-to-1961-prof-johnmccarthy/ [2] L. Kleinrock, An Internet vision: the invisible global infrastructure, Ad Hoc Networks 1 (2003) 311, Elsevier. [3] R Buyya, C S Yeo, S Venugopal, J Broberg, I Brandic, Cloud computing and emerging IT platforms: Vision, hype, and reality for delivering computing as the 5th utility, Future Generation Computer Systems, Vol. 25, No. 6. (June 2009), pp. 599-616. [4] Ed Ort, Sun microsystems, April 2005, Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools, Technical article. [5] J McGovern, S Tyagi, M Stevens, S Mathew, July, 2003, Java Web Services Architecture, book chapter 2, pp. 35-63 [6] http://en.wikipedia.org/wiki/Cloud_computing [7] http://www.johnmwillis.com/cloud-computing/who-coined-the-phrase-cloud-computing/ [8] http://www.google.com/press/podium/ses2006.html [9] Jack Dongarra, Thomas Sterling, Horst Simon, Erich Strohmaier, High-Performance Computing: Clusters, Constellations, MPPs, and Future Directions, Computing in Science and Engineering, vol. 7, no. 2, pp. 51-59, Mar./Apr. 2005 [10] Mark Baker, Rajkumar Buyya, Domenico Laforenza, Grids and Grid technologies for wide-area distributed computing, Software: Practice and Experience, Volume 32, Issue 15, pages 14371466, December 2002 [11] Graham Cormode and Balachander Krishnamurthy. Key differences between Web1.0 and Web2.0. First Monday, 13(6), June 2008 [12] http://www.roseindia.net/Technology-revolution/web2.0/Web%202.0%20Characteristics.shtml [13] Tim O'Reilly, What is Web 2.0, http://oreilly.com/web2/archive/what-is-web-20.html [14] Virtualization overview, vmware white paper. [15] Luis M. Vaquero, Luis Rodero-Merino, Juan Caceres, maik Lindner, A break in the clouds: Towards a cloud definition, ACM SIGCOMM Computer Communication Review, Volume 39, Number 1, January 2009, pp. 50-55. [16] http://cloudscaling.com/blog/cloud-computing/debunking-the-no-such-thing-as-a-private-cloud-myth [17] David S. Linthicum, Cloud computing and SOA convergence in your enterprise- A step-by-step guide, AddisonWesley. [18] Lizhe Wang, Gregor von Laszewski, Andrew Younge, Xi He, Marcel Kunze, Jie Tao and Cheng Fu, Cloud Computing: a Perspective Study, New Generation Computing, Springer,Volume 28, Number 2, pp 137-146 [19] Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy H. Katz, Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion Stoica and Matei Zaharia, Above the Clouds: A Berkeley View of Cloud Computing, Technical Report No. UCB/EECS-2009-28, February 10, 2009 [20] http://www.readwriteweb.com/cloud/2010/02/oracles-private-cloud-not-a-cloud-says-vogels.php [21] Won Kim, Soo Dong Kim, Eunseok Lee, Sungyoung Lee, Adoption Issues for Cloud Computing, Keynote, Proceedings of MoMM, December 1416, 2009 [22] Christian Vecchiola, Xingchen Chua, and Rajkumar Buyya, Aneka: A Software Platform for .NET-based Cloud Computing, GRIDS-TR-2009-4, Grid Computing and Distributed Systems Laboratory, The University of Melbourne, Australia, May 25, 2009 [23] Won Kim, Cloud Computing: Today and Tomorrow, JOURNAL OF OBJECT TECHNOLOGY, Vol. 8, No. 1, January-February 2009, pp.65-72 [24] Frank Doelitzscher Anthony Sulistio, Christoph Reich Hendrik Kuijs David Wolf, Private cloud for collaboration and e-Learning services: from IaaS to SaaS, Technical Report CRL-2010-01, Hochschule Furtwangen
University, Feb. 2010, Computing, Springer-Verlag, July 2010 [25] D. Nurmi, R. Wolski, C. Grzegorczyk, G. Obertelli, S. Soman, L. Youseff, and D. Zagorodnov. The Eucalyptus open-source cloud-computing system. 2008. UCSD Tech.Rep. 2008-10 [Online], http://eucalyptus.cs.ucsb.edu/ [26] Alexandros Marinos, Gerard Briscoe, 2009, Community cloud computing, In First International Conference Cloud Computing, CloudCom, volume 5931 of Lecture Notes in Computer Science, Springer ,pp 472484 [27] Junjie Peng, Xuejun Zhang, Zhou Lei, Bofeng Zhang, Wu Zhang, Qing Li, Comparison of Several Cloud Computing Platforms. Second International Symposium on Information Science and Engineering, pages 2327, 2009 [28] Qi Zhang, Lu Cheng, and Raouf Boutaba. Cloud computing: state-of-the-art and research challenges. Journal of Internet Services and Applications, vol 1,April 2010, pp.718 [29] Torry Harris Business Solutions, White paper, Cloud computing - An Overview [30] http://www.mkpress.com/CloudReading/#Cloud_Computing_Glossary [31] Anthony T. Velte, Toby J. Velte, Robert Elsenpeter, Cloud Computing:A Practical Approach, Appendix, McGraw Hill. [32] Rajkumar Buyya , Suraj Pandey , Christian Vecchiola, Cloudbus Toolkit for Market-Oriented Cloud Computing, Proceedings of the 1st International Conference on Cloud Computing, December 01-04, 2009, Beijing, China [33] http://heroku.com/pricing [34] http://wso2.org/aggregator/sources/32 [35] http://www.salesforce.com/in/?ir=1 [36] http://crmondemand.oracle.com/en/index.htm [37] https://www.mesh.com/welcome/default.aspx [38] http://www.netsuite.com/portal/home.shtml [39] http://aws.amazon.com/ [40] http://www.gogrid.com/ and http://wiki.gogrid.com/wiki/index.php/Main_Page [41] http://code.google.com/appengine/ [42] http://www.salesforce.com/platform/ [43] http://www.opennebula.org/ [44] http://open.eucalyptus.com/ [45] http://www.nimbusproject.org/ [46] http://www.abicloud.org/display/abiCloud/Home [47] http://www.scienceclouds.org/ [48] http://www.microsoft.com/windowsazure/ [49] http://www.rackspacecloud.com/ [50] Michael Gregg, 10 security concerns for cloud computing, Global Knowledge training LLC, expert reference series of white papers. [51] Joyent, Security in public and private cloud infrastructures, white paper [52] Roger Clarke, User Requirements for Cloud Computing Architecture, proceedings of the 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing, 2010, pp 625-630. [53] Taneli Korri, Cloud computing: Utility computing over the Internet, Technical Report,TKK-CSE-B5, Helsinki University of Technology [54] Gartner: Seven cloud-computing security risks http://www.networkworld.com/news/2008/070208-cloud.html