Cloud computing is Internet-based ("cloud") development and use of computer technology ("computing"). The cloud is a metaphor for the Internet (based on how it is depicted in computer network diagrams) and is an abstraction for the complex infrastructure it conceals. It is a style of computing in which IT-related capabilities are provided “as a service”, allowing users to access technology-enabled services from the Internet ("in the cloud") without knowledge of, expertise with, or control over the technology infrastructure that supports them. According to the IEEE Computer Society, "It is a paradigm in which information is permanently stored in servers on the Internet and cached temporarily on clients that include desktops, entertainment centers, table computers, notebooks, wall computers, handhelds, etc.
Cloud computing is a general concept that incorporates software as a service (SaaS), Web 2.0 and other recent, well-known technology trends, in which the common theme is reliance on the Internet for satisfying the computing needs of the users. For example, Google Apps provides common business applications online that are accessed from a web browser, while the software and data are stored on the servers.
The underlying concept dates back to 1960 when John McCarthy opined that "computation may someday be organized as a public utility" (indeed it shares characteristics with service bureaus which date back to the 1960s) and the term cloud was already in commercial use in the early 1990s to refer to large ATM networks. By the turn of the 21st century, cloud computing solutions had started to appear on the market, though most of the focus at this time was on Software as a service.
Amazon.com played a key role in the development of cloud computing by modernizing their data centers after the dot-com bubble and (having found the new cloud architecture resulted in significant internal efficiency improvements) providing access to their systems by way of Amazon Web Services in 2002 on a utility computing basis.
2007 saw increased activity, including Google, IBM and a number of universities embarking on a large scale cloud computing research project, around the time the term started gaining popularity in the mainstream press. It was a hot topic by mid-2008 and numerous cloud computing events had been scheduled.
In August 2008 Gartner observed that "organisations are switching from company-owned hardware and software assets to per-use service-based models" and that the "projected shift to cloud computing will result in dramatic growth in IT products in some areas and in significant reductions in other areas".
A cloud application leverages The Cloud in software architecture, often eliminating the need to install and run the application on the customer's own computer, thus alleviating the burden of software maintenance, ongoing operation, and support. For example:
A cloud client is computer hardware and/or computer software which relies on The Cloud for application delivery, or which is specifically designed for delivery of cloud services, and which is in either case essentially useless without it. For example:
A cloud platform (eg Platform as a service) (the delivery of a computing platform and/or solution stack as a service) facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers. For example:
A cloud service (eg Web Service) is "software system[s] designed to support interoperable machine-to-machine interaction over a network which may be accessed by other cloud computing components, software (eg Software plus services) or end users directly. For example:
Cloud storage is the delivery of data storage as a service (including database-like services), often billed on a utility computing basis (eg per gigabyte per month). For example:
Cloud architecture is the systems architecture of the software systems involved in the delivery of cloud computing (eg hardware, software) as designed by a cloud architect who typically works for a cloud integrator. It typically involves multiple cloud components communicating with each other over application programming interfaces (usually web services).
This is very similar to the Unix philosophy of having multiple programs doing one thing well and working together over universal interfaces. Complexity is controlled and the resulting systems are more manageable than their monolithic counterparts.
Cloud architecture extends to the client where web browsers and/or software applications are used to access cloud applications.
A cloud computing provider or cloud computing service provider owns and operates live cloud computing systems to deliver service to third parties. Usually this requires significant resources and expertise in building and managing next generation data centers. Some organisations are realising a subset of the benefits of cloud computing by becoming "internal" cloud providers and servicing themselves, though they do not benefit from the same economies of scale and still have to engineer for peak loads. The barrier to entry is also significantly higher with capital expenditure required and billing and management creates some overhead. Nonetheless, significant operational efficiency and agility advantages can be realised even by small organisations and server consolidation and virtualization rollouts are already well underway. Amazon.com was the first such provider, modernising its data centers which, like most computer networks were using as little as 10% of its capacity at any one time just to leave room for occasional spikes. This allowed small, fast-moving groups to add new features faster and easier, and they went on to open it up to outsiders as Amazon Web Services in 2002 on a utility computing basis.
The companies listed in the Components section are providers.
A user is a consumer of cloud computing. The privacy of users in cloud computing has become of increasing concern. The rights of users is also an issue, which is being addressed via a community effort to create a bill of rights (currently in draft).
A vendor sells products and services that facilitate the delivery, adoption and use of cloud computing. For example:
A cloud standard is one of a number of existing (typically lightweight) open standards that have facilitated the growth of cloud computing, including:
], XMPP)
In November 2007, the Free Software Foundation released the Affero General Public License, a version of GPLv3 designed to close a perceived legal loophole associated with Free software designed to be run over a network, particularly software as a service. An application service provider is required to release any changes they make to Affero GPL open source code.