Workloads on Any Cloud: Designing a Cloud Portability Strategy