The debate over private clouds will likely continue in the foreseeable future as public-cloud usage becomes more acceptable in the enterprise, and private-cloud vendors offer more solutions-oriented approaches to create cloud-like infrastructure.
And it's only getting more confusing as the cloud term has effectively lost any specific meaning and is thrown around in relation to everything from Internet-based storage to grid computing.
To the extent that cloud offerings can be categorized for ease of discussion, I like RedMonk analyst Michael Cote's explanation. (He also uses a burger metaphor in describing these layers.)
IaaS = servers, storage PaaS = middleware SaaS = applications
Most vendors focused on private clouds are targeting the IaaS layer, which for ease of discussion is similar to Amazon Web Services (AWS) EC2. And while EC2 sets the tone for how most people think about clouds, it lacks (and maybe doesn't require?) the same kind of tooling enterprises need to manage their complete infrastructure.
Tooling and management is arguably the most important aspect for enterprise private clouds to be successful but may also be the most difficult to get right.
But tools may also be where the money is. And considering the cloud has yet to rain down the cash we all hope for, it seems like it's time to reset thinking a bit and focus more on enabling applications and infrastructure to make it appear more cloud-like rather than focusing on specifically making clouds. (Note: see my blog colleague James Urquhart's excellent series on DevOps to learn more about what happens after you have a cloud deployment.)
In terms of private-cloud software, its becoming less clear that enterprises want to run their own version of EC2, but perhaps that they want to make their existing infrastructure behave the same way--that is, allow for APIs and such to turn up VMs with a variety of images that are relevant to their organization.
And, perhaps more interestingly, I've recently heard from several enterprises that they are interested in programming-language and/or application-specific private clouds for Java application or other infrastructure like internal content management tools that require variability in their scaling. … Read more