What is Cloud Migration?
Cloud migration involves transferring applications and data from on-site data centers to the cloud. These applications may be applications an organization developed itself, or purchased to fulfill a business-critical task. Ways to approach application migration include optimizing parts of the application for the cloud, changing the application’s code to integrate smoothly with the cloud, or using an application currently in the cloud to replace the original application.
Organizations need to migrate to the cloud when their application requires scaling beyond the capabilities of its on-site data center. An additional motive for migrating is when an organization has legacy applications that are no longer supported, and anyway need to be replaced. Another common driver of cloud adoption is the need for improved performance or resilience.
Benefits Of Cloud Migration
Here are a few reasons organizations are migrating to the cloud, all of which will become even more relevant in 2022 and beyond:
- Cost savings—large cloud providers operate computing infrastructure at huge scale, and can pool the cost of IT staff across many customer organizations. Even after accounting for cloud provider profits, the cost of running specific infrastructure on the cloud is likely to be much lower than setting it up on-premises. Learn more in this detailed overview of cloud costs.
- Cutting edge technology—cloud providers regularly update software, can offer the latest hardware, including next-generation CPUs and GPUs, and are constantly developing new tools and services that can benefit organizations.
- Lower maintenance—by moving applications to the cloud, organizations reduce the need for local IT staff, and effectively outsource the upkeep of infrastructure to the cloud provider.
- Improved reliability and performance—cloud providers have data centers around the world, and provide easy ways to replicate and scale data and applications. This makes it possible to improve reliability, by running multiple instances of the same resource, or improve performance, by scaling out to multiple copies of a computing resource.
- Disaster recovery—cloud-based infrastructure makes it trivial to store data and applications in a remote site. This provides highly reliable disaster recovery options, with rapid recovery in the event of a disaster to ensure business continuity.
- Security and compliance—in the past, the cloud was considered less secure than on-premises data centers. Today many in the industry recognize that the cloud provides important benefits in terms of security, because cloud data centers are supported by world-class security teams, and offer extensive security tooling. Major cloud providers also offer built-in compliance with regulations and industry standards.
Types of Cloud Migration
Rehost (Lift and Shift)
Rehosting involves “lifting” your stack and “shifting” it from an on-premises data center to the cloud. You move a replica of your current environment without implementing extensive modifications, which drastically simplifies cloud migration. Rehosting is especially suited to organizations with conservative company culture or limited technical skills to manage advanced cloud capabilities.
Refactoring or re-architecturing involves rebuilding your workload from the beginning to be cloud native. Refactoring can provide the maximum benefits of the cloud for existing applications.
If you wish to move to the cloud to take advantage of its capabilities and benefits, you should embrace cloud native design principles. Becoming cloud native involves investing time in planning and doing things correctly—making sure your employees have the skills they need to refactor your code for the cloud.
The Revise strategy involves changing or extending existing code to support legacy modernization demands, then using refactor or rehost options to move to the cloud. This strategy lets organizations optimize the application to make the most of cloud provider infrastructure.
The minus is that starting a (possibly large) development project will demand upfront cost investments to establish a development team. Revise demands the longest and most complex migration process.
Rebuild involves entirely redeveloping the application on a PaaS infrastructure, distinct from Rearchitect, where you only change specific parts of the application.
Rebuild means removing existing code and reimaging the application in the cloud. Once you redesign the application, you can use innovative capabilities on the cloud provider’s platform. A cloud native application is cost-effective and highly scalable. However, be aware that an entire rebuild of your application is costly.
The Replace strategy involves completely replacing an on-premise application with a cloud alternative. If you can find a cloud-based solution that is a good fit to your business needs, this can be a cost-effective migration option that still allows your organization to fully benefit from cloud capabilities.
Other Cloud Migration Strategies
- Repurchasing—if you have a legacy application that you can’t simply move to the cloud, you can purchase a new product already on the cloud.
- Retiring—once you examine all things in your environment, you may discover that there are things you can do away with without consequences. Retiring will save you money, improve security, and give your employees one less tool they need to learn how to use.
- Retaining—if you identify something you are not ready to retire but are also not ready to migrate to the cloud, look at it later. At times you may wish to keep things as they are for now.
- Cloud-to-cloud migration—means moving from one cloud to another cloud, for example, from Azure to AWS.
- Reverse cloud migration—this is the migration away from the cloud to an on-premises data center. It is also known as cloud repatriation, unclouding, or de-clouding.
The Cloud Migration Process
Every migration is unique and varies according to infrastructure complexity, application maturity, and the IT team’s skill level. However, in general, every migration will feature some elements of the following four steps:
Step 1: Plan and Assess
Map your whole environment, including services, applications, dependencies, and virtual and physical server configurations. Make sure to include third-party resources and shadow IT implementations, which might complicate migration if not correctly addressed.
Step 2: Design
Identify cloud-ready databases, applications, virtual and physical servers, and storage. Identify dependencies, SLAs, compliance and user needs, and security requirements. Create rollback and contingency plans to deal with worst-case events or to reverse the migration if necessary. Compile resources for ongoing maintenance and migration. Prepare a preliminary migration path for potential migration components.
Step 3: Pilot Migration
Handle issues that come up during design. Decide on the final migration team, including business and technical members, and initiate training and communication events. According to your design, plan a pilot migration in a non-production environment and deal with any problems that come up during the pilot. After this initial run, create a runbook that keeps track of the process, from pre-migration requirements to the post-migration testing rules and deciding when to go live.
Step 4: Migrate
Choose a date for the migration. You might wish to schedule a migration during a slow period, such as overnight, on the weekends, during holiday breaks, or another time where there will be a minimal impact if there is a performance issue or outage during the migration.
Look at your runbook when executing the migration. Once you cut over and go live, carry out a post-migration validation of data, applications, and network. Troubleshoot service outages, failures, performance issues, or data anomalies. If you can’t readily deal with a major problem, minimize its impact by initiating a rollback to discover what happened, and re-schedule the migration.
Conclusion: Cloud Migration in 2022 and Beyond
In this article, I discussed the basics of cloud migration. These have not changed over the past years. However, they have evolved into a robust, mature process, which organizations can repeatedly perform with low risk. The basic cloud migration process involves:
- Planning and assessing cloud migration options
- Designing the target architecture on the cloud
- Performing a pilot to test migration to the cloud
- Executing actual migration
In 2022 and beyond, organizations will execute this process as a matter of course for a growing number of applications. In parallel, organizations will build many applications on the cloud, to begin with, using a “cloud first” methodology. Gradually, the cloud will no longer be a risky destination. Organizations will treat it as a well-understood, robust deployment option, allowing workloads to be moved and relocated at will.
Author Bio: Gilad David Maayan
Gilad David Maayan is a technology writer who has worked with over 150 technology companies including SAP (News - Alert), Imperva, Samsung NEXT, NetApp and Ixia, producing technical and thought leadership content that elucidates technical solutions for developers and IT leadership. Today he heads Agile SEO, the leading marketing agency in the technology industry.