Cloud Computing is a business model that enable on-demand network access to a shared pool of resources that can be rapidly provisioned and released with minimum manual effort. The shared pool of resources may include servers, platforms, storage, applications and services, and the technologies such as server virtualization may be used for provisioning.
In general, "cloud" or "on demand" refers to using a resource installed on some server over internet when needed, rather than installing and using the platform or software from your machine. Instead of buying a resource paying the complete price, you can use the resources paying only fraction of the price based the actual usage.
Opposite of cloud is ‘on premise’, and refers to installing the resource on your machine within your premises. One limitation of cloud over ‘on premise’ is that you need to have internet connection to connect to cloud whereas you don’t require an internet connection to use software installed on your machine.
Important characteristics of cloud computing are that it is on demand, managed completely by the provider and user can use as much or as little as he want.
Examples of cloud services include Amazon EC2, Google Compute Engine, Microsoft Azure VMs, Google App Engine, Salesforce, Google Drive, Amazon S3 and even Gmail.
Example Cloud Service: Cloud Storage
Cloud storage is a model of networked enterprise storage where data is stored in virtualized pools of storage and people who require their data to be hosted buy or lease storage capacity. Physically, the resource may span across multiple servers and multiple locations, but user will see only a static virtual address. Data stored over the cloud is often replicated across multiple servers and hence even if any issue happens with one of the server, the data will still be available on the other servers.
Cloud storage services are usually accessed through a web service API or by applications that utilize the API, such as cloud desktop storage, a cloud storage gateway or Web-based content management systems.
In Server virtualization, the actual physical server on which the software is installed is not directly shared with the end user, but is given a virtual address. In server virtualization, there may be more than one server and might be scaled to include more servers based on requirement. However user sees only his virtual address and hence doesn’t even know about any of these changes.
You can read more about virtualization @ http://codingarchitect.com/book/virtualization-techniques-and-tools.
Cloud computing and cloud integration are going to be two very important areas that most companies will focus on from now. Most popular companies like SAP, Oracle, Software AG etc. have already started moving their applications to cloud and even try to reach the cloud there faster by acquiring cloud companies, which shows the importance of cloud. The acquisition of Ariba by SAP for $4.3 was part of such a strategy and I was working with Ariba during that time.
Cloud computing is becoming very popular in areas such as healthcare, energy systems, transportation systems, manufacturing industry and even within various government processes.