"Cloud computing" refers to providing Internet-based access to shared resources that are available on demand. The resources can be a combination of hardware, software and other information, and the resources can be the use of a single set of hardware and software for multiple purposes or a single purpose, either for a single company or for multiple customers. This "shared" use is very different from outsourcing which uses the infrastructure of the customer, managed by a third party. It is also a departure from the traditional enterprise license of software or purchase of on-premises hardware equipment.
The important characteristics of cloud computing are resource pooling (the resources are dynamically assigned and reassigned according to demand), flexible access (accessible across a variety of platforms such as laptops, PDAs and mobile devices) and rapid elasticity (the services can be provisioned elastically and rapidly, frequently automatically). However, the term "cloud computing" actually encompasses three basic business models that can be made available through a variety of methods.