Application migration is the process of moving a software application from one computing environment to another. You might, for instance, migrate an application from one data center to another, from an on-premises server to a cloud provider’s environment, or from the public cloud to a private cloud environment.
Because applications are typically built to run on particular operating systems in specific network architectures or developed for a single cloud platform, moving an application to a new environment can pose a number of challenges. It’s usually easier to migrate applications from virtualized or service-based architectures than it is to migrate those running on bare metal hardware.
Determining an overall application migration strategy involves considering each individual application’s dependencies and technical requirements, as well as your enterprise’s security, compliance, and cost constraints.
Different applications can take different paths to the cloud, even within the same technology environment. Since the early days of cloud computing, developers have referred to these application migration patterns with names that begin with “R."
To develop the application migration strategy that’s best for your enterprise’s unique IT environment and business needs, you’ll need to understand exactly what’s in your application portfolio, the specifics of your security and compliance requirements, the cloud resources you’re currently consuming, and what your on-premises storage, compute, and network infrastructures are like.
In order for a cloud migration to be successful, you'll also need to be clear on the key business drivers that are motivating it and to align your strategy with these drivers. You’ll want to be conscious of why you’re migrating to the cloud, and what you’re hoping to achieve with the transition.
In the following video, Andrea Crawford takes a closer look at cloud migration:
Stakeholders may fear that application migrations might cause disruptions to the business or result in unanticipated costs. The most common risks include the following:
Undertaking a careful and detailed assessment of the risks and benefits associated with rehosting, re-architecting/replatforming, or retiring each application in your portfolio can help mitigate the overall risks associated with application migration. In particular, it’s important to compare department-level costs with the total cost to the enterprise and to assess the total cost of ownership (TCO) of any hardware you’d need to maintain to keep applications on premises.
In previous years, enterprises often sought to move applications to the cloud because they wanted the flexibility, scalability, or predictable pay-as-you-go cost structure that cloud providers offer. Today, however, they’re also seeking environments that will enable innovation. Whether that means access to the high-performance processors needed to power deep learning algorithms or containerized applications that allow development teams to improve customers’ digital experiences rapidly by implementing changes at speed, cloud technologies make it possible for businesses to experiment, to test new ideas, and to “fail faster.” In many cases, cloud-friendly technologies like containerization make it possible to offer end users better experiences than the virtual machines they may replace.
Generally speaking, the application migration planning process can be divided into three stages. In each, it’s critical to weigh the costs of all potential options, including choosing to retain some on-premises workloads.
In this initial discovery phase, you should begin by ensuring you have a comprehensive catalog of all applications in your portfolio. You’ll then categorize the applications according to whether they have business-critical or non-critical importance, whether their value is strategic or non-strategic, and what you stand to from migrating each to the cloud. You should strive to understand each application’s value in terms these characteristics:
You’ll then want to conduct a cloud affinity assessment for each application you’re thinking about migrating. During this process, you can determine which applications are ready to go as-is and which would need significant changes before they could be made cloud-ready.
You can also employ application dependency discovery tools to help you determine the feasibility of migrating a particular workload outside its current environment.
Determining the total cost of a cloud migration project can be a complex undertaking. You’ll need to compare “what-if” scenarios for keeping applications and infrastructure on-premises with those associated with moving them to the cloud. This means you’ll have to calculate purchasing, operating, and maintenance costs for the hardware you’d maintain on-premises in either scenario and the costs of licensing software.
You’ll want to compare the monthly bill you’d get from your cloud provider in either scenario and the costs of the migration itself, including the costs of testing the new infrastructure and training employees to use updated software. Don’t forget to consider maintenance costs for legacy applications that remain on-premises.
In the final phase of migration planning, you’ll establish a timeline for the project and identify any risks or stumbling blocks that you are particularly likely to encounter.
Generally speaking, the older the application, the more challenging (and as a result, potentially the less worthwhile) it is to migrate to the cloud. Outdated software is problematic in many ways: it’s expensive to maintain, it can raise security concerns if it’s no longer being patched, and it tends to perform poorly in modern computing environments. Be especially thorough with your assessment of legacy applications before deciding to migrate them.
When assessing each application’s viability and priority as a migration candidate, you’ll want to consider the following questions.
To ensure that no data or capabilities are lost during the application migration process, you should perform tests during the migration to verify that all data is present, that the data’s integrity has been maintained, and that the data is now in the correct storage location.
It’s also essential to conduct follow-up testing after the migration is complete, benchmarking application performance and ensuring that security controls remain in place.
Virtualization is a fundamental component in many cloud migration strategies because virtual machines can readily be run in new physical hardware environments. It’s even possible to move a live application—running on a virtual machine—between physical host machines without disrupting the end user’s experience. The flexibility and versatility of virtualized computing environments dramatically simplifies the process of application migration.
To learn more about the role that virtualization can play in modern cloud computing strategies, see the following video:
Many services are available to help your enterprise strategize, plan, and execute a successful cloud migration.
In a comprehensive blueprint service offering, your vendor will aid you in clarifying your migration strategy and objectives, gathering information about your applications and environment, identifying your users’ needs and your business requirements, and coming up with a detailed plan of action for your migration.
If you choose a managed deployment option, your vendor will not only aid you in strategizing and planning for your migration but will also manage the migration itself and any associated testing and troubleshooting. This is usually a turn-key service offering that includes full-scale, end-to-end support.
A managed cloud service offering typically includes monitoring and maintenance of your cloud-based IT environment. Your managed cloud service provider will assume responsibility for multiple functions, ranging from managing cloud security to procuring as-a-service offerings from vendors on your behalf. Application migration can be included within a packaged service offering or added on an á la carte basis.
Application modernization services include custom development offerings that can prepare legacy applications for use in the cloud by modifying them so they’ll run in containers or virtualized environments.
Application migration can be the start of new avenues for innovation, including application modernization on an organization’s journey to cloud. That’s why IBM Cloud offers a full suite of cloud migration tools and services to keep things moving.
Take the next step:
Get started with an IBM Cloud account today.
Build, modernize and manage applications securely across any cloud with confidence
IBM Cloud with Red Hat offers market-leading security, enterprise scalability and open innovation to unlock the full potential of cloud and AI.
IBM Cloud migration services and consulting helps streamline your migration strategy and implementation with best-in-class tools and templates, and automation.