In this article, we'll cover:
Cloud computing has brought about radical changes to the way businesses operate. Over the last few years, all sorts of organisations have embraced the cloud, taking advantage of the capacities offered by data centres, and reaped the rewards of doing so: these include lower costs, improved efficiency, enhanced flexibility, and many more.
The process of moving to the cloud is known as cloud migration. This is a substantial undertaking for any business, and it involves careful consideration and forethought. It’s not just a question of whether to migrate or choosing the right cloud platform, but also a question of how to migrate. Adopting a suitable cloud migration strategy can greatly simplify matters and be far more cost-effective than you may imagine.
When migrating to the cloud, businesses need to minimise any downtime and disruption that might arise as a result. This requires them to consider what they want to migrate, and how they should go about it. That’s why it’s so important to think carefully about application migration, which is something we’ll be discussing in detail here.
In this guide, we’ll introduce you to the concept of application migration and explain why it matters. We’ll also discuss the common challenges organisations encounter during the application migration process, and we’ll outline which areas your application migration plan should cover and what should go into your checklist.
What is application migration?
Application migration is the process of moving software applications between different computing environments. This might include migrating applications from on-premises tech to third-party cloud infrastructures, such as Amazon Web Services (AWS), Oracle, or Microsoft Azure. It may also refer to moving web applications from the private cloud to the public cloud.
There may be a number of hurdles to overcome as part of this process. Existing applications are usually designed to run on specific operating systems or cloud platforms, which can complicate migration. Before pressing on with migrating applications there’s a number of things you’ll need to factor into your application migration strategy.
Among these factors will be budgetary considerations (is the cost involved realistic?), security, and compliance. You’ll also have to consider the technical requirements and dependencies of individual applications, as these can have a significant impact on the progress of your migration project. Finding the right cloud provider is important, but it’s not the only consideration.
You should bear in mind the fact that there are different ways of migrating applications to the cloud. Let’s take a look at the major types here.
Rehosting
Rehosting applications is often favoured because, as well as being quicker than other methods of migrating, it allows businesses to cut costs. It’s the simplest method of application migration: applications are moved, more or less as-is, from on-premises servers to a cloud platform (which is why it’s also colloquially known as ‘lift and shift’).
The simplicity of rehosting, along with its short-term cost advantages, make it an attractive option for enterprises. But there are some downsides as well. In particular, long-term costs may end up being higher, and application performance may suffer; they won’t provide cloud-native capabilities unless they’re subject to further modification, known as refactoring.
Refactoring or Re-architecting
There are various names for this method: refactoring, re-architecting, or rip and replace. Whatever term you prefer to use, it involves reworking the application (altering its architecture or code) specifically so that it can provide users with cloud-native benefits.
Depending on the application involved, this can entail quite a substantial overhaul. Entire swathes of the software may need recoding in order to facilitate cloud-native functionality, including additional features and enhanced scalability.
One thing you’ll need to consider when refactoring is that changes to one application may have knock-on effects on the performance of others. You’ll need to ensure that any alterations you make don’t adversely affect your wider cloud environment.
Replatforming
Replatforming is a smaller-scale variant of refactoring or re-architecting. It involves making relatively modest changes to applications, saving time, effort, and expenditure while ensuring that applications can provide at least some cloud-native benefits. This makes it a halfway house between rehosting and refactoring.
Retiring and Repurchasing
Sometimes it may be better simply to retire legacy applications and replace them rather than migrating them. Some applications may simply be too complicated for migration, or their functions may be better handled by alternative software. Maintenance costs may also be excessive, thereby necessitating the replacement of these applications.
In cases such as these, your best bet may be to retire such applications altogether. Some can be replaced by alternative applications and others by cloud-based, Software as a Service (SaaS) tools; this is also known as repurchasing. This way, you’ll still have the necessary functionality without paying over the odds for unfeasible application migration.
Common Challenges of Application Migration
We’ve already touched on some of the major challenges potentially you may come across during application migration: excessive complexity, costly maintenance, a lack of cloud-native functionality, or the fact that newer applications and services can do the same job, but better.
Here, we’ll explore these issues – and some others – in more detail.
Technical Difficulties
As we’ve discussed, application migration can be a substantial technical undertaking. Obviously, the exact complexity involved will depend on the size of the migration project being undertaken, the nature of the software being migrated, the cloud infrastructure involved (public, private, or hybrid cloud), and general business needs.
Larger migration projects, or those involving database migration or complex legacy applications, may therefore be more prone to running into technical hitches. Those undertaking the migration process may find that they encounter problems they hadn’t anticipated before starting work on it.
Unforeseen Costs
Another common problem associated with application migration is that of unanticipated costs. Due to the complexity of migrating applications, costs may overrun quite substantially compared to initial expectations.
There is a range of costs that may exceed initial estimates. Training staff to use new or altered applications and tools, for example, can prove particularly costly (it also has knock-on effects as other staff have to take on more work).
Sometimes this is a factor of technical difficulties, as we talked about previously. However, it may also be down to an inadequate application migration strategy. Enterprises must ensure that they have adequately assessed the challenges they are likely to encounter during the migration process, and attempt as best they can to anticipate the cost implications.
Unexpected Downtime
Migrating applications may potentially lead to a disruption elsewhere, as business-critical processes are affected by the ongoing migration project. This can hinder these processes or simply take them out of commission entirely for a period.
An unplanned outage can be very damaging to businesses, costing them revenue and frustrating customers or clients. Again, a thorough strategy should help enterprises to reduce the risk of downtime, by better anticipating the conflicts and problems they might encounter rather than trying to combat them in real-time.
Organisational Culture and Management
An important point to remember when it comes to application migration is that there’s no singular, off-the-shelf solution that every organisation can use to its own ends. Inevitably, every business and enterprise is different – each has its own particular needs. Cultural and managerial factors can therefore take on extra importance.
It’s vital that robust management is in place throughout any migration project. There must be a clear chain of command and accountability so that everyone concerned knows precisely what’s expected of them. This should help to avoid unnecessary confusion.
Application Migration Plan Stages
A thorough application migration plan should help to make the entire process much smoother and more straightforward. This is why it’s so crucial to get your plan right before you make a start on migrating enterprise applications.
There are four core aspects that anyone undertaking an application migration project will need to address. Here, we’ll take a closer look at them.
Assess and Identify Apps
Before you press ahead, you must ensure that you’ve carried out a comprehensive audit of the enterprise applications at your disposal, assessing them according to their importance, the potential value of their migration to the cloud, and their complexity. They should also be categorised according to whether they’re non-critical or business-critical.
Each application should be assessed on whether it would need alterations and recoding, or whether it can be migrated essentially unchanged. This will help you get a better idea about which software should be migrated (and, potentially, which should be retired or replaced).
Calculate the Total Cost of Ownership (TCO)
We’ve discussed how application migration comes with significant potential for cost overruns. There’s no denying that migrating applications to the cloud can be a very costly business indeed. You should therefore carry out a total cost of ownership (TCO) assessment so that you have a clearer understanding of the likely costs involved.
Compare different scenarios. Would the long-term cost savings of the migration outweigh the initial outlay and whatever disruption it might cause? How much will it cost to replace any applications you’re planning to retire? Then, as we’ve mentioned, you’ll need to think about things like training people to use new tools, and consider maintenance costs.
Forecast overall risk and project duration
Obviously, there’s always the danger of running into unforeseen roadblocks and hiccups along the way. Nevertheless, you should forecast as best you can the overall level of risk involved in your migration project, and also how long that project is likely to take.
It goes without saying that this isn’t an exact science. However, by identifying potential risks in advance – and taking their cost implications into consideration – you should be in a much better position to deal with them if and when they actually manifest themselves.
Also important in terms of mitigating risks is ensuring that everyone has the right migration tools to hand. These will help to automate important aspects of the work and thus simplify the process considerably. Cloud migration services can also lend a hand.
Migrating legacy applications: is it worthwhile?
Legacy technology is more commonplace than you might think. Many organisations (including some of the world’s biggest businesses) are run partly on legacy systems – in other words, hardware or software that have been technically superseded by more recent innovations.
There are good reasons for keeping some legacy applications in place. The cost and potential disruption of replacing them might be unacceptable, for example. A lot of businesses prefer to stick to the old maxim: if it ain’t broke, don’t fix it. Sometimes, it’s not immediately necessary to introduce a state-of-the-art replacement.
This applies to legacy applications as well. Some legacy apps are difficult to migrate to the cloud, and this can affect your entire migration approach. Older applications are often harder to migrate, as well as being costlier to maintain.
Again, you should thoroughly assess your legacy applications before deciding whether it’s worthwhile migrating them. It may be that a legacy app can be migrated as-is or with only minor adjustments, but some may simply need replacing with alternative solutions.
Application Migration Checklist
Now that we’ve provided the general outlines of what should go into your migration plan, we need to look at your application migration checklist. This will do much to inform your implementation of your application migration strategy as a whole.
There are a number of key issues you should consider when migrating applications to a new environment. Here are some of the most important ones.
Complexity
The viability of an individual application migration will depend to a large extent on the complexity of that particular app and any associated API. Can you account for its documentation? If the application was developed in-house, it would help if the developer is still on hand to help migrate it. If not, that may be another reason to consider replacing it.
Perhaps most importantly, you should assess just how important individual apps are to your organisation as a whole. Look at how many other processes and workflows are interconnected with particular applications. This should help you to assess their importance, and thus to conclude whether or not it’s worth the effort of migrating them to a cloud service.
Criticality
The issue of criticality follows on from our previous point. Business-critical applications are those which lie at the centre of multiple vital processes, and on which many users are likely to be dependent. This is something you must take into consideration.
Another crucial point to consider here is that of downtime. Before migrating a specific application, you must think about what would happen to your wider operations if that app were subject to prolonged downtime. You should also consider any interconnected applications and how they might be affected by the migration.
Compliance
The regulatory burden on businesses is growing all the time, particularly with regard to data protection, and so data security must be a central consideration where application migration is concerned.
In particular, businesses that operate in highly regulated industries must pay especially close attention to the relevant regulatory requirements and general data protection laws. You must ensure that these are adhered to throughout the migration process.
Availability
Application availability is another crucial consideration before proceeding with any migration process. We’ve talked about how migrating some applications can be difficult, time-consuming, and generally complex. Migration may therefore render some applications unavailable for extended periods.
Some applications may also be subject to service level agreements (SLAs), which are contractual obligations; in other words, clients may stipulate that a particular service should be available for a specific proportion of the time. If your plans to migrate an app are likely to affect this, rendering your business unable to uphold its SLAs, you may need to reconsider.
How RingCentral Supports Application Migration
We’ve talked a lot about the difficulties and challenges of application migration, but it’s important to stress the upsides, too – after all, if there weren’t upsides, there wouldn’t be so many businesses migrating apps to the cloud.
Application migration can be a highly effective way of modernising and streamlining the way your business operates, delivering substantial cost savings and productivity improvements, ensuring that your clients and customers enjoy an even better level of service.
Better still, there is plenty of help at hand to make things easier for you. RingCentral’s unified communications solutions can ease the whole migration process by facilitating closer collaboration between colleagues. It brings video conferencing, team messaging, cloud-based business phone calls, and more together in the same place.
Solutions such as BT Cloud Work, a joint project between RingCentral and BT, provide end-to-end migration support as well as other value-added professional services, including remote management, consulting services, out-of-hours support, and onboarding training.
What is clear is that we’re in an epoch of revolutionary change as far as technology is concerned, from the cloud to big data and automation. This means that we’re all going to have to adapt to the changes that are inevitably coming our way. Application migration is just one method of adapting to those changes, but it’s an increasingly vital one.
Originally published Feb 24, 2021, updated Apr 10, 2023