CIO Magazine has an interesting article outlining a UC Berkeley research paper. They suggest to take full advantage of the growth of cloud computing, vendors need to:

  1. Build applications that scale well (up and down)
  2. Offer pay-as-you-go licensing
  3. Develop virtual machine friendly systems
  4. Build energy efficient data centers
  5. Utilize more flash memory
The paper also outlines 10 obstacles to cloud computing:
  1. Availability of service
  2. Data lock-in
  3. Data confidentiality and auditability
  4. Data transfer bottlenecks
  5. Performance unpredictability
  6. Scalable storage
  7. Bugs in large distributed systems
  8. Scaling quickly
  9. Reputation fate sharing
  10. Software licensing