Application migration describes the process of moving an application, along with its associated data and host servers, from one environment into another. As a growing number of enterprise organizations have adopted public and private cloud infrastructure, application migration frequently refers to the migration of enterprise applications from on-premise servers into private, public or hybrid cloud environments. Challenges include differences between the original environment and the target environment which can necessitate changes to the application's functions or architecture. Unfamiliar security and compliance challenges may require the organization to develop new tools and capabilities for securing applications and data. Organizations that pursue application migration without a defined strategy may find their projects doomed for failure. Organizations that are prepared to meet the challenges of application migration will find a range of potential strategies and software tools to facilitate and secure the application migration process.