Private Cloud is not truly Cloud
Much has been made lately of the fact that the cloud is not enterprise-ready. Security, performance, SLAs, support, standards and management tools are all cited as reasons the cloud isn't ready for enterprise adoption.
Many vendors are proposing Private Clouds as a solution. Private Clouds are clouds that run inside enterprise data centers, by enterprise IT, for the use of the members of the enterprise. Basically it's a way to virtualize a large swath of the IT data center. As is often the case with technology vendors, they think that the infrastructure technology, virtualization, is the end solution the user wants rather than the vehicle with which their needs are filled. While large scale adoption of Private Virtual farms will aid in the management of the data center, it will not address the value that users are getting from true Cloud computing.
To understand the true value of Cloud computing, you first need to understand how the 'Cloud Generation' uses technology and why the Cloud is so attractive to that generation as an infrastructure solution. The Cloud Generation has grown up on the web. As a result they have come to expect three core elements to their technology experience:
- Immediate Availability - They do a search and get going right away.
- Ubiquitous Access - They can get to their data and apps anytime, anyplace.
- Sharing and Collaboration - They expect to be able to collaborate and share anything they are working on.
The current Cloud addresses those needs by providing infrastructure in a way that is far different than any past solutions.
Immediate Availability = Complete Flexibility
Cloud solutions allow users to provision resources immediately. By the time you are done reading this, you could have a server running in Amazon or an application published in Google. It's that immediate. Moreover, it's completely flexible. You can turn off services as quickly as you turn them on. Finally you only pay for what you use down to the hour or gigabyte. This resonates with a group that's not use to spending up front for anything on the web.
Ubiquitous Access = APIs
A true Cloud solution not only offers infrastructure anytime, anywhere, it also provides access either through a web interface or through an API. To the Cloud Generation of programmers this means anything they can interact with on the Cloud they can program to through APIs. The idea of infrastructure being an item that can be addressed as part of the application, instead of something the application lays on top of, is a radical concept. It has allowed not only for innovative applications, but also for true elastic computing making the Cloud environment even more flexible. Finally, it's an essential element of the communities that have become critical to the advancement of Cloud computing.
Sharing and Collaboration = Communities
Great Cloud offerings have great Communities around them. This is the aspect of Cloud computing that is so often missed – and even scoffed at – by the IT folks who think it's all about virtualization. One of the biggest gripes about Cloud computing is that support is done by the Community and not the vendor. While most will agree that far more proactive vendor support is necessary for Cloud computing, Community support is just as critical. For questions of configuration and usage tricks, the Community is a far better source of information than some call center employee with limited access. Often the Community devises more innovative solutions than the vendor ever could.
But in addition to support, the Community can create third-party add-ins that make the Cloud even more useful. As easy as it is to set up a server on Amazon's EC2, the vast majority of pre-configured Amazon Machine Images created by the community make it that much easier, shaving hours of configuration time. In conjunction with the aforementioned APIs, it also allows for a healthy development of third party add-ons that both add functionality to the Cloud vendor's solution and even act as a channel to market for the vendor.
So let's take a look at Private Clouds. They don't provide complete flexibility. You still need to buy a bunch of servers and virtualization software and data center space first and, once you've bought it all, you're paying for it whether you use it or not. Private Clouds also don't provide Ubiquitous Access and if they do have APIs they are usually extremely limited compared to true Cloud solutions. Finally, if there is any Community at all (which there usually isn't) it's restricted to the enterprise that is deploying it. That's a much less powerful Community than the group of internet users as whole.
So while Private Clouds may offer many advantages for managing your data center, they do not truly address the Cloud Generation's needs. What's really needed is a way to make the true Cloud (that is to say the public internet) safe for enterprise use by improving security, performance, SLAs, support, standards and management tools. That way the users and the enterprise both get what they want. What does it take to do that? That's a subject for the next post.