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.
Backup and recovery. In the event of a technology disaster, backup and recovery support is essential for getting back to business as usual. Many cloud providers offer one-click backup 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," rehosting 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 rehosting and refactoring. With replatforming, 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:
Azure App Service
Quickly and easily create enterprise-ready web and mobile apps for any platform or device.
Azure SQL Database
Build scalable apps with managed and intelligent SQL in the cloud.
Azure Virtual Machines
Improve operational efficiency by migrating business-critical apps to Azure infrastructure.
Azure VMware Solution
Move or extend on-premises VMware environments to Azure.
E-book: Cloud Migration and Modernisation with Microsoft Azure
An overview of migration and modernisation insights, strategies and tips for getting started.
Azure Migration and Modernisation Programme
Expert help, technical training, and resources that enterprises can use to confidently set up their cloud environment.
Microsoft Cloud Adoption Framework for Azure
A proven collection of documentation, guidance, best practices and tools designed to accelerate cloud adoption.
Strategic Migration Assessment and Readiness Tool (SMART)
An assessment tool that helps organisations gauge how ready they are to migrate their applications to Azure.
Application and Data Modernisation Readiness Tool
An assessment tool that helps organisation evaluate their business strategies for modernising their apps and data.
Solution: Application and database modernisation
A collection of solutions, news and customer stories about app modernisation.
Learning module: Applications and infrastructure migration and modernisation
Self-paced course designed to help organisations identify the drivers behind and paths forward for app migration and modernisation.
Microsoft Inside Track
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, backup 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 deliver features faster by bringing their .NET apps to the cloud, a fully managed service like Azure App Service might work well.