Lately it seems everyone is in need of assistance with their clouds, from architecture, setup and deployment there seems to be real need for the "Cloud Consultant". For us these jobs range from your dedicated hosting firms and large telecoms looking to create EC2 like utilities to software & traditional enterprises looking to deploy their new "as a service" offerings in a scalable way. A lot of people talk about the cloud killing the traditional system administrator's job, but in my opinion there has never been a better time to be working in IT. Those who see this paradigm shift toward cloud computing will prosper.
Defining what cloud computing is in itself a tough job, the lack of common cloud methodologies and best practices is making the job even harder. Trying to find experienced people with knowledge on how to build out a 30,000 machine cloud is nearly impossible, finding someone who's deployed hundreds is proving to be almost as difficult. We the pioneers in the cloud computing space must take steps to create an open development ecosystem, one where we share our failures and successes so others can learn the trade.
One way may be to create a common cloud specification. David Young over at Joyent, attempted to do this, he has called for a common cloud specification called "Cloud Nine". In his modest proposal, he calls for an open specification based on nine core components.
1) Virtualization Layer Network Stability
2) API for Creation, Deletion, Cloning of Instances
3) Application Layer Interoperability
4) State Layer Interoperability
5) Application Services (e.g. email infrastructure, payments infrastructure)6) Automatic Scale (deploy and forget about it)
7) Hardware Load Balancing
8) Storage as a Service
9) “Root”, If Required