I thought this argument has been settled a long time ago, seems not. So, once more dear friends I will put on my best impression of a stuck record.
First what is the difference between a public and a private cloud?
- A public cloud (the clue is in the name) is open to the public.
- A private cloud (the clue is in the name) is private to some set of people.
Naturally, there are shades of grey. For example, the set of people for which a private cloud is private might be one person, a department, a company, a community, a nation or some sort of collection of the above. It is common to use a variety of notations (community, government etc) to distinguish these constraints on use i.e. what subset of people are allowed to use it.
There is another side to this which is your relationship to the provider. It is either :-
- external to you and therefore controlled, operated and run by another party.
- internal to you which means it is controlled, operated and run by yourself.
Now, once again there are shades of grey because it is perfectly possible for a community of companies to build a shared cloud environment.
Examples of the notation include :-
- AWS offers a public cloud which is external to everyone but Amazon.
- Eucalyptus offers technology for a company to build a private cloud which is internal to that company.
You could write a list with examples of each but there is little point as no-one uses this notation. Instead in common parlance we tend to use the term public cloud with a single counterpoint of private cloud to mean a cloud where an organisation makes up the subset of private users and the cloud is provided internally to that organisation.
Now we have our bearings on the terms, this leaves a question ...
Why use a private cloud?
A private cloud (using the common meaning) is one that you control and operate. It hence overcomes - or at least creates the illusion of overcoming - many transitional risks such as governance, trust & security of supply. However, it does so at the potential loss of the economies of scale found in public clouds combined with additional costs such as planning, administration and management.
The choice over whether to use one type of cloud or another is always one of benefits vs risks (whether disruption, transition or outsourcing risks). A hybrid cloud strategy simply refers to using a combination of both public and private clouds to maximise benefits for a given appetite of risk.
Naturally, the actual risk can change with a variety of events. For example, the formation of competitive cloud marketplaces with easy switching between multiple providers reduces outsourcing risks (e.g. lack of pricing competition, loss of strategic control, lack of second sourcing options).
For a consumer of cloud services, the ideal scenario is multiple providers of the same service, the option to implement your own environment and no loss of strategic control or dependency to a single vendor.
For this to scenario happen, the technology must be open sourced and hence the technology owners must first realise that in this cloud world value isn't generated through bits of software but instead through services.
In the same way that it took a book company to disrupt the hosting world by offering commoditised infrastructure services, a hosting company is now doing the same to the world of technology vendors through open source. This is just the start and whilst openstack is currently focused on the infrastructure layer, expect it to move up the computing stack in short order.
There are four companies who in my mind exemplify this whole commodity approach - Rackspace, Amazon, Google and Canonical.
I expect all of them to be titans in this space.