== Service Models ==
Cloud computing providers offer threetheir fundamentalservices typesaccording ofto cloudthree servicesfundamental 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]]
{{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. Application developers can develop and run their software solutions on a the cloud platform without the cost and complexity of buying and managing the underlying hardware and software layers. With some PaaS offers, the underlying compute and storage resources scale automatically to match application demand, such that the cloud user does not have to allocate resources manually.
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 ===
{{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]].
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> ''Need more facts about pricing''
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.<ref name="hamdaqa"> Mohammad Hamdaqa, Tassos Livogiannis, Ladan Tahvildari: A Reference Model for Developing Cloud Applications. CLOSER 2011: 98-103</ref>
<!-- removed SOA discussion - SOA is not even in the main SaaS article -->
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"/>
''(Mention different subtypes of CaaS, ...)''
== Cloud clients ==
|___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
|first3 = Rajkumar
|last3 = Buyya
}}
</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>
|