Realizing the full potential of virtualized computation-the cloud-requires rethinking software development. Deployment decisions, and their validation, can and should be moved up the development chain into the design phase.