Cloud computing is defined as a model for the delivery of computing as a service rather than a product through the use of shared hosted computing resources. Cloud computing includes services, applications, storage, and information provided at low cost to users who access these services over the Internet when they need them.
The term "cloud" is a metaphor for the Internet, represented by the popular cloud drawing as an abstraction of the underlying infrastructure it represents.
There are several common characteristics that distinguish cloud computing from similar shared or utility computing resources.
Cloud computing services are marketed in several standard ways, depending on the nature of the offerings. These include three popular packaging models: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS). These are discussed in the following sections.
Software as a Service (SaaS) refers to software application services delivered as a service over the Internet, eliminating the need for users to purchase, install, host, and support the software application on their own computers and simplifying maintenance and support. Examples of SaaS applications include email, calendars, document, spreadsheet, graphics and other web desktop office applications such as Microsoft's Office 365. Other examples include standard business applications such as Salesforce's pioneering sales force automation products, hosted PeopleSoft, Customer Relationship Management (CRM), accounting services, among many others.
The Platform as a Service (PaaS) model refers to services consisting of a computing platform with standard server operating system and applications as a service. An example of PaaS would be a virtual Windows or Linux host server to use in hosting the user's custom applications or services. For a business customer launching a new web service, for example, the use of PaaS facilitates this deployment and spares the business the responsibility, risk, cost, and complexity of buying and managing the underlying hardware and software layers of their system, allowing them to concentrate their time and resources on their application and business, leaving the provisioning and management of the host platform to the cloud computing service provider. Although they are similar, the difference between a PaaS offering and SaaS is that the PaaS is provided as an enabler to an offeror of an Internet service, while a SaaS is provided directly to the End User.
Cloud infrastructure services, also known as "infrastructure as a service" (IaaS), deliver computer infrastructure - typically a platform virtualization environment - as a service, along with raw (block) storage and networking. Rather than purchasing physical servers, software, data-center space or network equipment, clients instead buy those resources as a virtual fully outsourced service. Suppliers typically bill such virtual services on a utility computing basis; the amount of resources consumed (and therefore the cost) will typically reflect the level of activity.