What is cloud migration? An introduction to moving to the cloud
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 to transfer 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; this model is 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.
What are the key benefits of cloud migration?
The general goals or benefits of a cloud migration are essentially the same as the reasons to use the cloud itself: to host applications and data in the most effective IT environment possible, based on factors such as cost, performance and security.
Many organizations migrate 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.
Types of 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 checklist before taking action.
Every company has a different reason to move a workload to the cloud, and goals for each organization will vary. The first step is to identify the application or workload you want to move to the cloud. Next, 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, and look for dependencies and how those will be replicated in the cloud or possibly rearchitected to accommodate numerous cloud service 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 have strict geographic stewardship requirements such as GDPR.
Lastly, consider your costs. An organization may have steep investments in hardware infrastructure and software licensing. If so, weigh whether or not it's worth it to migrate the workload. After a cloud migration, IT staff will focus on data performance, usage and stability, so be sure to budget for tools that support these functions.
Cloud migration deployment models
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.
- 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, consider how well it will perform once it's migrated. Ensure there is adequate bandwidth for optimal application performance. Also, determine whether an application's dependencies may complicate a migration.
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, which typically incurs costs for retrieval.
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 support 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.
Cloud migration process
The cloud migration steps or processes an enterprise follows will 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 directly from local servers to its new hosting environment in the cloud without any modifications; this model is sometimes referred to as a lift-and-shift migration. This is essentially a one-to-one 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 refactoring an application or rearchitecting it. This can be done in advance of a cloud migration, or retroactively once it is clear that a lift and shift has reduced an application's performance.
IT management should consider whether refactoring an application makes financial sense. Calculate cost, performance and security when you analyze your ROI. An application likely will require at least some refactoring whether the transformation is minimal or comprehensive.
Enterprises have several choices when it comes to transferring data from a local data center to the public cloud. The type of data migration an enterprise chooses depends on the amount and type of data it wants to move, as well as how fast it needs to complete the migration.
One way to migrate data and apps to the cloud is through the public internet or a private/dedicated network connection. If you choose this method, be sure to calculate and provide the necessary bandwidth. For significant volumes of data, it may be unrealistic to sideline your internet connection, so be sure to plan accordingly to avoid lengthy downtime during your cloud migration.
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.
In some cases, it might make more sense simply to use a truck to transfer large volumes of data. Major providers -- Microsoft, AWS, Google and IBM -- all offer services 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.
Cloud migration testing. 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. You shouldn't try to test every possible app function, but you do need to establish a solid understanding of several aspects of application performance before and after it goes to the cloud. Form a cloud migration testing strategy to confirm an application's baseline performance before and after the move -- including application start times and response times -- as well as establishing proper security and access, and successful integrations with other services.
Cloud migration security. There are special considerations for the new security realities during a cloud migration. Migrating data or apps through a network potentially opens up vectors to various types of attacks -- stealing credentials and VM snapshots, installing malware, or a "thrashing" persistent denial-of-service attack that forces repeated migrations and consumes system resources.
First and foremost, understand your cloud provider's shared responsibility model, which outlines the areas for which you and the provider are responsible. For users, typically this means everything above the underlying infrastructure, including data, access and governance. You'll also need to establish rules and structures around governance, access management and monitoring.
Changing IT staff roles. Once the cloud migration is complete, staff will shift their focus to data performance, usage and stability. There is some reduction in overall hardware support. However, cloud workloads must be managed, so consider adding some cloud management training classes for the team.
Best practices to ensure cloud migration success
There are many reasons why an organization chooses to migrate an app or workload to the cloud, and each project will be unique depending on resource allocations, integrations with other services and multiple other factors. Here are some general guidelines for a cloud migration that streamline the process and improve changes for success:
- Get organizational buy-in. The transition is much smoother when all stakeholders are on board and know their roles, from management to technical practitioners to end users.
- Define cloud roles and ownership. Determine right upfront who is responsible to manage various aspects of the cloud workload. Is it a shared environment? How is identity confirmed and access granted, or limited? This includes proper documentation of setups and processes.
- Pick the right cloud services. Cloud providers have a vast menu of services to pick from. Be clear with which ones your workload will tap into, or you risk running extraneous services -- some of which may be interdependent and become problematic to manage.
- Understand security risks. Cloud environments can be susceptible to mischief from internet attacks. Misconfigurations are arguably a bigger problem, given the complexity of cloud environments.
- Calculate cloud costs. The cloud's pay-as-you-go model may seem attractive and simpler to organizations used to large infrastructure investments. But it's a double-edged sword: Pay close attention to service selections and usage, or you'll get a shock at the end of the month.
- Devise a long-term cloud roadmap. If a cloud migration is successful, organizations likely will look to replicate that success for other workloads. Identify the criteria to follow, from project timelines to different deployment options, such as a hybrid cloud setup.
What are the challenges of a cloud migration?
A solid strategy won't completely eliminate all the hurdles and potential problems with a cloud migration. 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 cloud application has a higher cost than anticipated or it does not work as well as originally anticipated.
There's another reality to acknowledge: Not every application is a good fit for the cloud. Managers must scrutinize their on-premises applications when they make their initial choice about which should move to a cloud environment.
An often overlooked aspect of a cloud migration plan is to have a solid cloud exit strategy, where the apps and data move out of the cloud and are returned to their original state on premises or to a private cloud. IT managers must consider where the data will go, how to manage the technical transition and how to address any business or legal issues that may arise. Be sure to test the app before and after the repatriation, just as with the initial migration. If the app was altered to accommodate specific cloud benefits, such as horizontal scaling, those benefits would be lost when the app comes back on premises.
Many cloud migrations that fail are reversed only temporarily. They can be reassessed, possibly rearchitected rather than a lift-and-shift rehosting, and then sent back into the cloud with higher probability of success. 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.
Another common mistake made by cloud administrators is setting up the wrong instance type. You need to select the right amount of CPU and memory resources, as well as enough network connectivity for your chosen storage and app data transmission.
Don't underestimate proper staff training. Managing apps in the cloud is unlike working with local data centers and routine virtualized resources, and thus requires a different set of IT and management skills. In particular, data security requires a different approach in the cloud than on premises. Staff training needs to be a priority. Consider employee skill sets, and make sure everyone is properly trained on how to control and manage the relevant services. If staff cannot be trained prior to a cloud migration, it makes sense to hire an experienced AWS partner to manage the project.
Cloud migration tools and services
Workload management alters significantly when an application moves to the cloud. Enterprises should calculate the cost of a cloud configuration before a migration to avoid unexpected surprises. 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.
The big IaaS providers -- AWS, Microsoft and Google -- offer various cloud migration services as well as free tiers. Here are a few examples:
|Database migration||AWS Database Migration Service||Azure Database Migration Service||Database Migration Service (preview)|
|Data transfer appliance||Snow Family||Data Box||Transfer Appliance|
|Disaster recovery||CloudEndure Disaster Recovery||Azure Site Recovery||N/A|
|Online data transfer||AWS DataSync, AWS Transfer Family||Azure File Sync||BigQuery Data Transfer Service, Cloud Data Transfer|
|On-premises application analysis||AWS Application Discovery Service, Migration Evaluator||Azure Migrate, Movere, Azure Resource Mover||N/A|
|On-premises and cloud storage integration||Storage Gateway||StorSimple||N/A (offered by partner Cloudian)|
|Migration tracker||AWS Migration Hub||Azure Migrate||N/A|
|Server migration||AWS App2Container, AWS Server Migration Service, CloudEndure Migration||Azure Migrate||Migrate for Anthos, Migrate for Compute Engine, VM migration|
Cloud cost calculators and estimation tools help enterprises determine the cost of a cloud configuration before the team makes the migration. Cloud optimization tools can offer recommendations for a particular cloud environment in areas such as cost, performance and security.
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 database migration problems that may arise.
Cloud migration trends
A number of factors influence an organization's decision to consider if an app or workload should move to the cloud.
Broadly, the cloud plays a central role in most digital transformation initiatives. Big data analytics is an attractive lure of cloud platforms, offering scale and computing resources unattainable by most on-premises systems. And as enterprises expand their use of cloud-native technologies, they seek more standard template-driven processes rather than relying on assumptions and a small core of developers and architects.
The COVID-19 pandemic spurred many businesses to speed up their plans to move to the cloud, particularly with increased remote work requirements. At the same time, workers and consumers now want better user experiences in all aspects of their digital lives.
Other emerging cloud migration trends to watch include adoption of financial ops ("FinOps") to understand cloud cost considerations, and an embrace of sustainability initiatives and social issues that are increasingly popular with consumers and employees.
Ready to migrate to the cloud? Answer these questions
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 or on-premises cloud 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.