Jump to content

Talk:Cloud computing/Draft Layers

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Bikeborg (talk | contribs) at 16:33, 9 February 2012 (First draft). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

This is a work in progress page for a revision of the Layers section. Please see rationale here

Service Models

Cloud computing providers offer cloud services at three layers:[1] Software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS) where IaaS is the most basic and each higher layer abstracts from the details of the lower layers.

Infrastructure as a Service (IaaS)

In this most basic cloud service model, cloud providers offer computers – as physical or more often as virtual machines –, raw (block) storage, firewalls, load balancers, and networks. IaaS providers supply these resources on demand from their large pools installed in data centers. Local area networks including IP addresses are part of the offer. For the wide area connectivity, the Internet can be used or - in carrier clouds - dedicated virtual private networks can be configured.

To deploy their applications, cloud users then install operating system images on the machines as well as their application software. In this model, it is the cloud user who is responsible for patching and maintaining the operating systems and application software. Cloud providers typically bill such services on a utility computing basis, that is, cost will reflect the amount of resources allocated and consumed.

Platform as a Service (PaaS)

In the PaaS model, cloud providers deliver a computing platform and/or solution stack typically including operating system, programming language execution environment, database, and web server. With some PaaS offers, the underlying compute and storage resources scale automatically to match, such that the cloud user does not have to allocate them manually. as a service, often consuming cloud infrastructure and sustaining cloud applications.[2] It facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers.[3][4] Cloud computing is becoming a major change in the computing industry, and one of the most important parts of this change is the shift of cloud platforms. Platforms let developers write certain applications that can run in the cloud, or even use services provided by the cloud. There are different names being used for platforms which can include the on-demand platform, or Cloud 9. Regardless of the nomenclature, they all have great potential in developing, and when development teams create applications for the cloud, each must build its own cloud platform.

Software as a Service

In this model, cloud providers install and operate application software in the cloud. Cloud users access the software from cloud clients. They do not manage the cloud infrastructure and platform on which the application is running. This eliminates the need to install and run the application on the cloud user's own computers simplifying maintenance and support.

A cloud application is software provided as a service. It consists of the following: a package of interrelated tasks, the definition of these tasks, and the configuration files, which contain dynamic information about tasks at run-time. Cloud tasks provide compute, storage, communication and management capabilities. Tasks can be cloned into multiple virtual machines, and are accessible through application programmable interfaces (API). Cloud applications are a kind of utility computing that can scale out and in to match the workload demand. Cloud applications have a pricing model that is based on different compute and storage usage, and tenancy metrics.[5]

What makes a cloud application different from other applications is its elasticity. Cloud applications have the ability to scale out and in. This can be achieved by cloning tasks in to multiple virtual machines at run-time to meet the changing work demand. Configuration Data is where dynamic aspects of cloud application are determined at run-time. There is no need to stop the running application or redeploy it in order to modify or change the information in this file.[6]

SOA is an umbrella that describes any kind of service. A cloud application is a service. A cloud application meta-model is a SOA model that conforms to the SOA meta-model. This makes cloud applications SOA applications. However, SOA applications are not necessary cloud applications. A cloud application is a SOA application that runs under a specific environment, which is the cloud computing environment (platform). This environment is characterized by horizontal scalability, rapid provisioning, ease of access, and flexible prices. While SOA is a business model that addresses the business process management, cloud architecture addresses many technical details that are environment specific, which makes it more a technical model.[5]

Cloud clients

Users access cloud computing using networked client devices, such as desktop computers, laptops, tablets and smartphones. Some of these devices - cloud clients - rely on cloud computing for all or a majority of their applications so as to be essentially useless without it. Examples are thin clients and the browser-based Chromebook. Many cloud applications do not require specific software on the client and instead use a web browser to interact with the cloud application. With AJAX and HTML5 these Web user interfaces can achieve a similar or even better look and feel as native applications. Some cloud applications, however, support specific client software dedicated to these applications (e.g., virtual desktop clients and most email clients). Some legacy applications (line of business applications that until now have been prevalent in thin client Windows computing) are delivered via a screen-sharing technology.

  1. ^ Cite error: The named reference “NIST” was invoked but never defined (see the help page).
  2. ^ "An example of a 'Cloud Platform' for building applications". Eccentex.com. Retrieved 2010-08-22.
  3. ^ Jack Schofield (2008-04-17). "Google angles for business users with 'platform as a service'". London: Guardian. Retrieved 2010-08-22.
  4. ^ "The Emerging Cloud Service Architecture". Aws.typepad.com. 2008-06-03. Retrieved 2010-08-22.
  5. ^ a b Mohammad Hamdaqa, Tassos Livogiannis, Ladan Tahvildari: A Reference Model for Developing Cloud Applications. CLOSER 2011: 98-103
  6. ^ http://www.stargroup.uwaterloo.ca/~mhamdaqa/publications/A%20REFERENCEMODELFORDEVELOPINGCLOUD%20APPLICATIONS.pdf