Enterprise applications are increasing in complexity, with multi-tier and distributed applications being the new standards for dealing with high-volume, high-scale requirements. In many development environments, the ideal scenario is to enable DevOps teams to manage dev/test environments in public clouds, with on-demand, usage based billing model – and to ultimately deploy these complex applications in on-premises clouds. Achieving application portability between heterogeneous cloud environments is critical to achieve the productivity goals of DevOps – yet often requires time-consuming workarounds. This article will present examples of approaches employed today, including newer options for model-driven cloud management platforms with their emphasis on automating application portability and approach to eliminating cloud lock-in.