Cloud migration is the process of moving data, applications or other business elements to a cloud computing environment.
There are various types of cloud migrations an enterprise can perform. One common model is the transfer of data and applications from a local, on-premises data center to the public cloud. However, a cloud migration could also entail moving data and applications from one cloud platform or provider to another -- a model known as cloud-to-cloud migration. A third type of migration is a reverse cloud migration, cloud repatriation or cloud exit, where data or applications are moved off of the cloud and back to a local data center.
Benefits of cloud migration
The general goal or benefit of any cloud migration is to host applications and data in the most effective IT environment possible, based on factors such as cost, performance and security.
For example, many organizations perform the migration of on-premises applications and data from their local data center to public cloud infrastructure to take advantage of benefits such as greater elasticity, self-service provisioning, redundancy and a flexible, pay-per-use model.
Cloud migration strategies
Moving workloads to the cloud requires a well-thought-out strategy that includes a complex combination of management and technology challenges as well as staff and resource realignment. There are choices in the type of migration to perform as well as the type of data that should move. It's important to consider the following cloud migration steps before taking action.
Applications. First, identify the application. Every company has a different reason to move a workload to the cloud, and goals for each organization will vary. Next steps are to figure out how much data needs to be moved, how quickly the work needs to be done and how to migrate that data. Take inventory of data and applications, look for dependencies and consider one of the many migration options.
Remember that not every application should leave the enterprise data center. Among those that should stay are applications that are business-critical, have high throughput, require low latency or are applications that have strict geographic stewardship requirements -- such as GDPR -- that may be cause for concern.
Consider your costs. An organization may have a bundle invested in hardware infrastructure and software licensing. If that investment is steep, it is worth weighing whether or not it's worth it to migrate the workload.
Cloud migration types. The next step is to identify the right cloud environment. Enterprises today have more than one cloud scenario from which to choose.
The public cloud lets many users access compute resources through the internet or dedicated connections. A private cloud keeps data within the data center and uses a proprietary architecture. The hybrid cloud model mixes public and private cloud models and transfers data between the two. Finally, in a multi-cloud scenario, a business uses IaaS options from more than one public cloud provider.
As you consider where the application should live, also consider how well it will perform once it's migrated. Be sure there is adequate bandwidth for optimal application performance. And investigate whether an application's dependencies may complicate a migration.
Now is a good time to review what's in the stack of the application that will make the move. Local applications may contain a lot of features that go unused, and it is wasteful to pay to migrate and support those nonessential items. Stale data is another concern with cloud migration. Without a good reason, it's probably unwise to move historical data to the cloud.
As you examine the application, it may be prudent to reconsider its strategic architecture to set it up for what could potentially be a longer life. A handful of platforms are now mainstream among hybrid and multi-cloud environments, including the following:
- Microsoft Azure Stack;
- Google Cloud Anthos;
- AWS Outposts;
- VMware Cloud on AWS; and
- a container-based PaaS, such as Cloud Foundry or Red Hat OpenShift.
Staff issues. Applications that live in the cloud require a different set of management skills, and, as such, IT leaders will need to ensure staffs are ready to handle a cloud migration. Consider employee skill sets, and make sure everyone is properly trained on how to control and manage those services. Cloud management is unlike working with local data centers and routine virtualized resources.
Regardless of the application, current staff must learn to adapt to new roles. In particular, data security requires a different approach in the cloud than on premises, so staff training will need to be a priority.
Cloud migration process
The steps or processes an enterprise follows during a cloud migration vary based on factors such as the type of migration it wants to perform and the specific resources it wants to move. That said, common elements of a cloud migration strategy include the following:
- evaluation of performance and security requirements;
- selection of a cloud provider;
- calculation of costs; and
- any reorganization deemed necessary.
At the same time, be prepared to address several common challenges during a cloud migration:
- data and application portability;
- data integrity and security; and
- business continuity.
Without proper planning, a migration could degrade workload performance and lead to higher IT costs -- thereby negating some of the main benefits of cloud computing.
Depending on the details of the migration, an enterprise may choose to move an application to its new hosting environment without any modifications -- a model sometimes referred to as a lift-and-shift migration. In this scenario, a workload moves directly from local servers to the cloud without any changes. This is essentially a 1-to-1 move done primarily as a short-term fix to save on infrastructure costs.
In other cases, it might be more beneficial to change an application's code or architecture. This process is known as application refactoring or rearchitecting. It makes sense to refactor an application in advance of a cloud migration, but often it happens retroactively. This typically occurs once it is clear that a lift and shift has reduced an application's performance.
Refactoring an application can be costly, so IT management should consider whether this makes financial sense. Don't forget to calculate cost, performance and security when you analyze your ROI. It's likely that an application will require at least some refactoring, whether the transformation is minimal or comprehensive.
If a migration is done online, you will need to calculate how much bandwidth is necessary to make the move.
Enterprises have several choices when it comes to transferring data from a local data center to the public cloud. These include the use of the public internet or a private/dedicated network connection. Another option is an offline transfer, in which an organization uploads its local data onto an appliance and then physically ships that appliance to a public cloud provider, which then uploads the data to the cloud. The type of data migration an enterprise chooses -- online or offline -- depends on the amount and type of data it wants to move, as well as how fast it needs to complete the migration.
It might not be realistic to sideline your internet connection for lengthy periods of time. In some cases, it will make more sense simply to use a truck to transfer data instead of an internet connection. There are services for this purpose -- Microsoft, AWS, Google and IBM have options for offline data shipping. Physical shipment may not eliminate the need for additional syncing, but it can cut time and expense to move the data.
Before the workload moves to production, it should be stress tested and optimized to deliver acceptable performance. It's also important to test failure conditions as well as redundant systems.
Once the cloud migration is complete, staff will shift its focus to data performance, usage and stability. Be sure to budget for these tools, as they are often forgotten in the initial planning.
Here's where IT staff sees the biggest change in their support role. There is some reduction in overall hardware support. But cloud workloads must be managed, so it makes sense to add some cloud management training classes for the team. There may be some special considerations for the new security realities during a migration.
Ensuring application security in the cloud is always a concern, particularly during a live migration to the cloud. VM migrations are essential to balance a workload's need for compute, storage and other application demands.
Live migration through a network makes possible various types of attacks. An attacker can take a VM snapshot and create a VM in a different context than its original intent. Those stolen credentials can duplicate and steal the snapshot or install rootkits or other malware for additional access. Thrashing is a persistent denial-of-service attack in which hackers force repeated migrations and disrupt computing processes by consuming system resources.
Cloud migration challenges
Sometimes IT leaders discover that their applications don't work as well in the cloud as they did on premises. They need to determine the reasons for the cloud migration failure. It could be poor latency, concerns about security or perhaps compliance challenges. Often, the reason is that the cloud application has a higher cost than anticipated, or the application does not work as well as originally anticipated.
The reality is that not all applications are a good fit for the cloud. That's why it is so important for managers to scrutinize their on-premises applications carefully when they make their initial choice about which should move to a cloud environment.
Having a solid cloud exit strategy, where the apps and data move out of the cloud, is just as important as having a good cloud migration strategy. IT managers need to know where the data will go, how to manage the technical transition and then how to address any business or legal issues that may arise as a result of the reverse migration.
Consider the changes you made prior to when you moved the application to the cloud. Moving the app back to its original platform might be one option. If those older platforms no longer exist, it will make sense to keep the application in the cloud until you can come up with an alternate solution.
The application does not need to return to its original state or to a private cloud. If the application requires additional infrastructure, a move to data center virtualization might be the right choice.
The most common alteration to an app that goes to the cloud tends to be horizontal scaling, the feature that lets applications access additional resources on the cloud when they need additional capacity or lets users move apps to the cloud when needed. If you make no provisions to retain that feature, be aware that you will lose those benefits when you remove the app from the cloud.
A thorough cloud exit strategy should include application lifecycle management. Test the apps in the new environment before the cutover. Last, double-check potential business and legal processes. Exiting the cloud is usually a last resort, so be sure your legal department checks your contract with the cloud provider, particularly if you transition before the contract expires.
Since AWS is in such widespread use, it's worth noting some of the common mistakes made by AWS cloud administrators.
Setting up the wrong instance type is common, as AWS provides several classes of instance types. You need to select the right amount of CPU and memory resources, as well as enough network connectivity for both your Amazon Elastic Block Storage (EBS) and app data transmission.
Don't underestimate proper staff training. If staff cannot be trained prior to a cloud migration, it makes sense to hire an experienced AWS partner to manage the project.
Types of cloud migration tools and services
Workload management undergoes a significant change when the application moves to the cloud. Cloud costs are often higher than originally anticipated. IT staff needs to change their management processes to work as well in the cloud as they do locally. This can be achieved by any number of services and tools.
Tools like Microsoft Azure Advisor and AWS Trusted Advisor can offer optimization recommendations in a cloud environment in areas such as cost, performance and security.
Cloud cost calculators and estimation tools help enterprises determine the cost of a cloud configuration before the team makes the migration. If you're an AWS shop, consider using the Simple Monthly Calculator for more detailed pricing estimates.
Services are available to help users tackle the various phases of the cloud migration process, which can be broken into four steps: migration planning, data migration, server migration and database migration.
Consider the following services as they apply to the aforementioned categories:
- data transfer services;
- network transfers; and
- cloud migration services and appliances.
The big IaaS providers, AWS, Microsoft and Google, offer free-trial tiers, or low-cost cloud migration services. Here are a few of the most popular.
Azure Migrate helps users assess how their VMware workloads would perform in an Azure public cloud -- before an actual migration takes place. Another tool, Azure Site Recovery, helps IT pros make the move. Customers can use the service to move VMs to Azure as well as take VMs on Azure and shift them to different cloud regions.
Among AWS cloud migration services is AWS Migration Hub, which helps users monitor the progress of their app migration. It displays the status of all resources involved across every AWS migration in the user's portfolio. Another, AWS Application Discovery Service, maps out the planning stages of an app migration. It uses the data to provide insights about configuration, data utilization, dependencies, memory and resource usage.
Google also has a host of cloud migration tools. Google Cloud Storage Transfer Service is used to move data into Google Cloud Storage. IT teams also use it to back up data and move it from one cloud storage entity to another. Google Transfer Appliance is an offline migration service for large data transfers.
There are a few automation options for lift-and-shift migrations, but most important is to understand app performance and resource requirements prior to the move. The migration of composite apps that rely on databases can be partially automated, but users will have to manually fix problems that may arise.
Why migrate to the cloud?
Cloud computing ultimately frees an enterprise IT team from the burden of managing uptime. Placing an application in the cloud is often the most logical step for growth. A positive answer to some or all of these questions may indicate your company's readiness to move an app to the cloud.
Should your application stay or go? Legacy applications, or workloads that require low latency or higher security and control, probably should stay on premises or move to a private cloud.
What's the cost to run an application in the cloud? One of the primary benefits of a cloud migration is workload flexibility. If a workload suddenly needs more resources to maintain performance, its cost to run may escalate quickly.
Which cloud model fits best? Public cloud provides scalability through a pay-per-usage model. Private cloud or on-premises provides extra control and security. A hybrid cloud model provides the best of both, although performance and connectivity may suffer.
How do I choose the right cloud provider? The top three cloud providers -- AWS, Microsoft and Google -- generally offer comparable services to run all kinds of workloads in the cloud, as well as tools to help you efficiently move apps there. Gauge your specific needs for availability, support, security and compliance, and pricing to find the best fit.