Application migration is the process of moving an application program
from one environment to another. Examples include migration from an on-premises
enterprise server to a cloud provider’s environment or from one
cloud environment to another.
Migrating an application can be complicated because there are bound to
be differences between the original and target environments.
Furthermore, applications -- even cloud applications -- are not
typically designed to be portable. Applications created on various cloud
development platforms, such as Windows Azure, Google App Engine and
Force.com, are usually designed to run on the platforms they were
developed on. Other elements such as operating systems, management
tools, the networking architecture, the storage system and the virtual
machine (VM) configuration can all differ from those in the environment
where the application was developed or deployed.
Successful application migration may require the use of middleware products to bridge any
gaps between technologies.