What is application migration?
App migration involves moving apps between environments—this could be from on-premises to the cloud, or between different cloud environments.
What are the benefits of migrating apps to the cloud?
The process of app migration involves an organisation's software migrating from one environment to another. In the context of cloud technology, apps can be migrated from on-premises servers to the cloud or from one cloud to another. App migration can be a part of a larger modernisation or cloud adoption strategy.
Lots of different types of workloads—including applications—can be migrated to the cloud. Commonly migrated workloads include:
- Windows Server
- SQL Server
- Linux Server
- Web apps
- Virtual desktops
There are a variety of benefits to app migration, including:
Enhanced security. Cloud environments often come with built-in security capabilities that are automatically patched and updated by the service provider. This provides organisations with increased security without the cost of increasing time and resources put towards security maintenance.
Compliance. Highly regulated industries—like government, finance, and healthcare—have strict and sometimes complicated compliance requirements. Some cloud platforms come with specialised compliance offerings to help workloads meet those requirements.
Back up and recovery. In the event of a technology disaster, back up and recovery support is essential for getting back to business as usual. Many cloud providers offer one-click back up and recovery capabilities built into their platforms.
Scalability and flexibility. Cloud resources can be scaled up or down rapidly as an organisation's needs change—and organisations pay only for the resources they use.
Simplified management. Central management tools help organisations easily keep track of their apps as well as their disparate or hybrid environments.
Customer and employee value. Organisations can deliver enhanced value to app users—either internal employees or external customers—by migrating apps to the cloud. Cloud-native apps are more available, resistant to outages, and manageable than on-premises apps.
Cost savings. App migration can result in significant savings, including maintenance, resource, and real estate costs. Furthermore, cloud-based apps can be optimised to further reduce cloud spend.
Application migration steps and strategies
App migration steps
There are three basic steps for migrating apps:
- Planning. Before any migration action is taken, organisations must think carefully about their app migration goals—including their business and IT goals—and define their strategy. This is the time to discover and assess existing apps and environments.
- Implementation. During this step, organisations build new skills and begin migrating their apps iteratively. An iterative approach gives organisations the flexibility to change their project scope or strategy as needed.
- Operations. App migration is not a one-and-done deal. Once organisations migrate their apps, they can use cloud platform services and tools to better secure, govern, manage, and optimise their apps for performance and cost.
App migration strategies
These four strategies are distinguished by two things: first, an organisation's migration goals, and second, the need for code changes to the apps themselves. An app migration strategy is defined during the planning step and put into effect during the implementation step.
Rehost. Sometimes called "lift-and-shift," re-hosting emphasises speed because it requires practically no code changes. Organisations take apps from their previous environment and migrate them as-is to their new cloud environment.
Replatform. This approach sits between re-hosting and refactoring. With re-platforming, organisations make minor code changes so that cloud technologies can be applied to the apps.
Refactor (or repackage). A step further than replatforming, refactored apps moving to the cloud are modified significantly so as to more closely resemble an app developed exclusively for the cloud.
Rearchitect. Organisations modify and extend app functionality and code to scale better. This might be the right approach if the organisation needs cloud scalability.
If an organisation decides that an app's functionality, lifespan, or ability to meet future business needs is too limited, two additional strategies are available:
Rebuild (or rewrite). Rebuilding is sometimes the right option if an organisation needs to recreate an app using cloud solutions. Instead of continuously modifying code that may have inherent flaws or limitations, rebuilding gives organisations the opportunity to start fresh in the cloud.
Replace. Replacing an app with a ready-made solution can be faster than rebuilding and can free up valuable development resources. But replacing apps could pose challenges like interruptions to business processes and limitations to future modernisation initiatives. A replacement app may not have been designed for all of an organisation’s scenarios and use cases, and the developers behind it may not have the resources to customise or expand the app as the organisation's needs change.
Migration framework and goals
App migration should follow a pre-established framework of organisational goals. For example, the Azure Well-Architected Framework has five architectural pillars geared towards app modernisation goals—these can be used for app migration as well:
- Reliability: The ability of a system to recover from failures and continue to function.
- Security: Protecting a system from threats.
- Cost optimisation: Maximising value by managing costs.
- Operational excellence: Operations processes that keep a system running in production.
- Performance efficiency: The ability of a system to adapt to changes in load.
App migration challenges
App migration poses some challenges, but there are ways to mitigate and overcome them. Some of the most common challenges faced by organisations migrating their apps to the cloud include:
The bulk of challenges faced during app migration can be addressed early during project planning. Successful app migrations need their scopes and goals defined and key stakeholders identified.
Data and technology issues
Organisations need to prepare their apps for the migration—the data must be high quality and the technical dependencies mapped. Organisations should discover and assess their apps and environments while planning for migration.
Internal training issues
App migration doesn't just impact the app itself—it impacts the people who build and use it. For that impact to be positive, organisations should invest in skill-building and training for how to use the new environment where the app lives as well as any new cloud-based tools and resources.
App migration tools, services, and resources
Migrating apps may seem daunting, but organisations that want to move their apps to the cloud don't have to do it on their own. Cloud providers and specialist partner organisations offer many assessment tools, methodologies, and programmes designed to help organisations migrate their apps. For example, Microsoft Azure offers the following resources to help organisations begin migrating apps at their own pace:
Tools and services
Azure Migrate is central dashboard with specialised tools to help you plan, track, and implement app migration. Find destinations for building or migrating apps, including:
Quickly and easily create enterprise-ready web and mobile apps for any platform or device.
Build scalable apps with managed and intelligent SQL in the cloud.
An overview of migration and modernisation insights, strategies, and tips for getting started.
Expert help, technical training, and resources that enterprises can use to confidently set up their cloud environment.
A proven collection of documentation, guidance, best practises, and tools designed to accelerate cloud adoption.
An assessment tool that helps organisations gauge how ready they are to migrate their applications to Azure.
An assessment tool that helps organisation evaluate their business strategies for modernising their apps and data.
A collection of solutions, news, and customer stories about app modernisation.
Self-paced course designed to help organisations identify the drivers behind and paths forward for app migration and modernisation.
News, insights, and case studies of how Microsoft has modernised its own applications and infrastructure with the hybrid cloud.
App migration is the process of moving an organisation's apps from one environment to another, like from on-premises to the cloud.
Migrating apps to the cloud affords organisations a variety of benefits, including: cost savings, scalability and flexibility, enhanced security, regulatory compliance, back up and recovery, and simplified management.
There are three overarching steps for application migration: Planning, implementation, and operations. Planning includes defining a migration strategy. Implementation involves skill-building and migrating apps. Operations covers on-going governance, management, and optimisation after migration.
App migration strategies should support an organisation's overall migration and modernisation goals. The Azure Well-Architected Framework lays out five pillars that work towards those goals: reliability, security, cost optimisation, operational excellence, and performance efficiency.
There are four broad strategies, each distinguished by the level of code changes that an organisation wants to make to their apps. Rehosting moves the app as-is from an older environment to a newer one. Replatforming entails some code changes to connect apps to the cloud. Refactoring calls for significant code changes to the app. Rearchitecting involves significant modifications to apps for cloud scalability.
Common challenges to app migration include issues around planning, data and technology, and internal training. Investment in time and training to prepare for an app migration can help to mitigate and overcome those challenges.
There are a wide variety of application modernisation tools and services available depending on what an organisation needs. For example, if an organisation wants to optimise costs, operate confidently, and ship features faster by bringing their .NET apps to the cloud, a fully managed service like Azure App Service might work well.