Talk:Cloud computing/Draft Layers: Difference between revisions

Content deleted Content added
Bikeborg (talk | contribs)
First draft
 
Bikeborg (talk | contribs)
Pricing model for SaaS
 
(3 intermediate revisions by the same user not shown)
Line 2:
 
== Service Models ==
Cloud computing providers offer cloudtheir services ataccording to three layersfundamental models:<ref name=“NIST”/><ref name=Buyya/> SoftwareInfrastructure as a service (SaaSIaaS), platform as a service (PaaS), and infrastructuresoftware as a service (IaaSSaaS) where IaaS is the most basic and each higher layermodel abstracts from the details of the lower layersmodels.
[[File:Cloud computing layers.png|right]]
 
Line 10:
In this most basic cloud service model, cloud providers offer computers – as physical or more often as [[virtual machine]]s –, raw (block) storage, [[firewalls]], [[load balancer]]s, and networks. IaaS providers supply these resources on demand from their large pools installed in [[data centers]]. [[Local area network]]s including IP addresses are part of the offer. For the [[WAN|wide area]] connectivity, the Internet can be used or - in [[carrier cloud]]s - dedicated [[virtual private network]]s 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 IaaS services on a [[utility computing]] basis, that is, cost will reflect the amount of resources allocated and consumed.
 
===Platform as a Service (PaaS)===
Line 16:
{{See also|Category:Cloud platforms}}
 
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. WithApplication somedevelopers PaaScan offers, the underlying computedevelop and storagerun resourcestheir scalesoftware automaticallysolutions to match, such that the cloud user does not have to allocate them manually. ason a service, often consuming cloud infrastructure and sustaining cloud applications.<ref>{{cite web|url=http://www.eccentex.com/platform/workflow.html |title=An example of a 'Cloud Platform' for building applications |publisher=Eccentex.com |date= |accessdate=2010-08-22}}</ref> It facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers.<ref>{{Cite news|author=JackWith Schofieldsome |url=http://www.guardian.co.uk/technology/2008/apr/17/google.softwarePaaS |title=Googleoffers, angles for business users with 'platform as a service' |publisher=Guardian |date= 2008-04-17|accessdate=2010-08-22 | ___location=London}}</ref><ref>{{cite web|url=http://aws.typepad.com/aws/2008/06/the-forthcoming.html |title=Theunderlying Emerging Cloud Service Architecture |publisher=Aws.typepad.com |date=2008-06-03 |accessdate=2010-08-22}}</ref> Cloud computing is becoming a major change in the computing industry,compute and onestorage ofresources thescale mostautomatically importantto partsmatch ofapplication thisdemand change is the shift of cloud platforms. Platforms let developers write certain applicationssuch that can run in the cloud, oruser evendoes 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 allnot have greatto potentialallocate inresources developing, and when development teams create applications for the cloud, each must build its own cloud platformmanually.
=== Software as a Service (SaaS) ===
{{Main|Software as a Service}}
 
In this model, cloud providers install and operate [[application software]] in the cloud. Cloudand cloud users access the software from [[cloud clients]]. TheyThe cloud users 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. What makes a cloud application different from other applications is its [[elasticity]]. This can be achieved by cloning tasks onto multiple [[virtual machines]] at run-time to meet the changing work demand. [[Load balancer]]s distribute the work over the set of virtual machines. This process is transparent to the cloud user who sees only a single access point. To accomodate a large number of cloud users, cloud applications can be [[multitenant]], that is, any machine serves more than one cloud user organization. It is common to refer to special types of cloud based application software with a similar naming convention: [[desktop as a service]], business process as a service, [[test environment as a service]], [[communication as a service]].
 
The pricing model for SaaS applications is typically a monthly or yearly flat fee per user.<ref name="Chou">
A [[cloud application]] is software provided as a service. It consists of the following: a package of interrelated
{{cite book
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.<ref name="hamdaqa"> Mohammad Hamdaqa, Tassos Livogiannis, Ladan Tahvildari: A Reference Model for Developing Cloud Applications. CLOSER 2011: 98-103</ref>
|title = Introduction to Cloud Computing: Business & Technology
|first = Timothy
|last = Chou
|url = http://www.scribd.com/doc/64699897/Introduction-to-Cloud-Computing-Business-and-Technology
}}
</ref>
 
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.<ref>http://www.stargroup.uwaterloo.ca/~mhamdaqa/publications/A%20REFERENCEMODELFORDEVELOPINGCLOUD%20APPLICATIONS.pdf</ref>
 
[[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.<ref name="hamdaqa"/>
== Cloud clients ==
{{See also|Category:Cloud clients}}
 
Users access cloud computing using networked client devices, such as [[desktop computers]], [[laptop]]s, [[tablet computer|tablet]]s 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 interface]]s 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., [[desktop virtualization|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.
 
==References==
''This reference should be inserted somewhere.''<ref name=Buyya>
{{cite book
|title=Cloud Computing: Principles and Paradigms
|editor=R. Buyya, J. Broberg, A.Goscinski
|year=February 2011
|publisher=Wiley Press
|___location=New York, USA
|isbn=978-0470887998
|url=http://media.johnwiley.com.au/product_data/excerpt/90/04708879/0470887990-180.pdf
|chapter = Introduction to Cloud Computing
|first1 = William
|last1 = Voorsluys
|first2 = James
|last2 = Broberg
|first3 = Rajkumar
|last3 = Buyya
|pages=1-44
}}
</ref>
 
 
{{Reflist|30em}}
 
== To Do ==
* Software can access many cloud services via [[cloud API]]s.
* Simplified software maintenance: 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.<ref>http://www.stargroup.uwaterloo.ca/~mhamdaqa/publications/A%20REFERENCEMODELFORDEVELOPINGCLOUD%20APPLICATIONS.pdf</ref>