With all the hype in the IT press and the growing awareness of “the Cloud” in the world outside IT, there seems to be a real need to lay out clearly the main characteristics of Cloud Computing.
At its heart, Cloud Computing expands on the work done in building service-oriented architectures to provide network-based services available on an as-needed basis to solve the computing resource problems of organisations or individuals.
These services can themselves consist of almost any kind of computing resource that would traditionally have been installed on a user’s premises. So, for example, they cover every aspect of computing, from CPU and storage requirements at the hardware end, up to full application delivery at the top-tier.
The main benefit to the user of these services is that they are often delivered in a manner which encourages pay-per-use behaviour (even if that may be wrapped in longer term contracts). This allows organisations to scale their usage both quickly and in a controllable manner, where before they may have had to over-specify their own compute solutions to handle peaks in demand.
The promise that Cloud Computing holds for any business, is that the organization should be able to achieve much greater flexibility in its own domain of expertise, without having to focus on the care and feeding of computing resources that are not part of its core business. Not only that, but sweeping changes in IT power and usage can be accommodated by incorporating new cloud services without having to scrap old equipment and restart.
A Cloud Computing Analogy
One of the closest analogies to cloud computing in the real world comes from the availability of electrical power from the main grid whenever it is needed.
We take for granted things like the number of pins on our electrical equipment, but these provide a very real common API into the power system (at least, within one country). When we plug in our device, it works as expected and we get charged according to the electricity used. Not only that, but if we take our device to another part of the country, it still works!
This “location independence” is one of the mainstays of a functional cloud comuting solution. Obviously part of the success of this model is that network access is based on the ubiquity of the internet and the protocols underlying it.
Another big factor in the current acceptance of cloud services is that way in which many of the services being offered have been “abstracted” away from the real computer resources they offer. A storage solution in the cloud would be much less attractive if a business had to know what physical disks were being used so that it could cope with any idiosyncrasies. Although this is a process that has been going on since the dawn of the computer age, many of the higher level cloud services on offer not only offer location independence themselves, but may in turn call upon far-flung resources to deliver their own final solution. As long as the business receives the contracted results, it doesn’t care.
To summarize then, Cloud computing offers much in terms of meeting new IT needs by moving the provision of that IT onto the internet; it provides a clean way for businesses to get exactly the right amount of computing power and functionality when needed, but it also poses “trust” challenges over and above even those of an in-house solution.