Standardization comes to the Cloud?
Cloud computing has done wonderful things for making web-based applications easy to deploy and scale. But, if your company's infrastructure runs on Amazon's EC2 or on Microsoft's Azure platforms, it's non-trivial to migrate that deployment to another service provider. Each offers a different deployment mechanism, different features, and a different set of challenges. In the cloud today, there really isn't any notion of standardization, and therefore, there's no real interoperability. OpenStack wants to change that.
OpenStack is a new open source cloud computing platform, initially supported by RackSpace (the second largest cloud provider, next to Amazon) and NASA. It aims to make cloud interoperability easier than ever. To kick off the new initiative, RackSpace is open-sourcing the code behind their cloud files service and their compute provisioning technology, and donating it to the project. NASA is also contributing some of the technology behind their powerful Nebula computing platform.
Basically, OpenStack will allow any company to run their own virtualized cloud infrastructure on their own physical hardware. The code itself will be available under the Apache license, and maintained by a non-profit organization. RackSpace and NASA will both adopt OpenStack of course, and continue to contribute development resources. A number of other companies have already announced that they stand behind the effort or will use / contribute to it in some way, including Dell, Citrix, Opscode, and RightScale.
Is this the beginning of the commoditized cloud and the end of vendor lock-in? It's an interesting turn of events, and one that certainly stands to benefit developers and web service operators. From my point of view, it'd be great to be able to port our application and deployment recipes from cloud provider A to cloud provider B (assuming they can offer us a better rate), without rewriting significant portions to leverage different procurement APIs and service-level features.
OpenStack, if it's adopted by hosting providers, could do for cloud computing and procurement what Linux did for server operating systems years ago (or what Android is currently trying to do for mobile computing today). By creating a standard set of interfaces that we, as developers, can depend on, we not only get (presumably) better prices and portability, but also the benefit of a large pool of shared development resources constantly working to make the entire platform better.Cloud computing has done wonderful things for making web-based applications easy to deploy and scale. But, if your company's infrastructure runs on Amazon's EC2 or on Microsoft's Azure platforms, it's non-trivial to migrate that deployment to another service provider. Each offers a different deployment mechanism, different features, and a different set of challenges. In the cloud today, there really isn't any notion of standardization, and therefore, there's no real interoperability. OpenStack wants to change that.

