Cloud Migration Basics: A Beginner’s Guide

What is a cloud migration? A cloud migration is the practice of moving IT workloads (data, applications, security, infrastructure, and other objects) to a cloud environment.

Quick Links:

Cloud migration can take many forms, including:

There is also another type of cloud migration called a reverse cloud migration (also known as cloud repatriation or cloud exit) where existing applications are moved from a public cloud back to an on-premises data center.

According to McKinsey, by 2024 most enterprises aspire to have 80% of IT hosting in some type of cloud environment, whether private cloud, infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS).

While the cloud can offer significant advantages in terms of speed and scale, it does have its challenges. In this article, we’ll look at the basics of cloud migration, talk about the benefits and challenges, explore some best practices, and talk about what is necessary for a successful cloud migration.

Why Migrate to the Cloud?

There’s a reason why so many organizations have chosen to migrate their data and applications to the cloud. In fact, the process has become the norm rather than the exception. Here are some of the main reasons organizations choose to migrate and the benefits they receive.

To get a better understanding of how a Cloud Migration can work, this presentation explains how Splunk migrated over 10,000 users from Atlassian’s self-hosted offering to the Atlassian Cloud platform – along with the business case justifying the investment.

Cloud Migrations Accelerating

One result of the global COVID-19 pandemic was a growing urgency to shift from on-premises to cloud. According to McKinsey, around 40% of companies have accelerated their plans to move to the cloud as a result of, or during, the crisis.

Five R’s of Cloud Migration

Often referred to as the “Five Rs,” there are five common ways that organizations migrate data and applications to the cloud, listed here in order of complexity from simplest to most complicated.

  1. Rehosting: Also referred to by the phrase “lift and shift,” rehosting is the cloud migration process, where IT workloads are redeployed from an on-premises server to a cloud-based server, making minimal changes to the code.
  2. Refactoring: Refactoring involves making small changes to applications in order to optimize them for a cloud environment, even if the change is not absolutely necessary for the migration. The application’s core architecture remains the same.
  3. Replatforming: Like refactoring, replatforming (also known as revising) involves changes to the underlying application code to prepare it for cloud hosting, but the changes are more involved.
  4. Rebuilding: As the name suggests, rebuilding (also known as refactoring) involves rearchitecting with new, cloud-native application source code.
  5. Replacing: Also known as repurchasing, this is the most drastic change, wherein the organization discards its own custom-built applications and begins using third-party software as a service application provided by the cloud vendor and hosted on the cloud platform. The only real migration in this scenario involves data migration.

Some industry leaders, such as Oracle, include a 6th R: Retiring. In some instances, after evaluating the needs of the business and its holistic technology landscape, the best course of action is to deprecate some on-premises applications rather than migrate them.

Examples & Use Cases for Cloud Migrations

Cloud migrations are similar in many ways and unique in others, but to give you some idea of why organizations pursue migrations, here are some common use cases.

On premises migration vs cloud migration

We looked at the Five Rs of cloud migration above. In terms of an on-premises migration of data and applications from one server to another, the process is similar even if the migration occurs within the same environment.

An on-premises migration can take the form of a server-to-server migration, where an application is moved from one physical server to another. This is essentially the same as reinstalling the application on the new server, and copying any data files that need to be moved along with it.

An on-premises migration can also involve a move from a physical server to a virtual machine (VM), a software application that emulates the functions of a physical computer. VM environments are often set up for testing. The application being moved from the physical server to the virtual machine can be installed and set up before the migration.

Virtual-to-virtual migrations are common both on premises and in the clouds. They involve the use of a hypervisor — a program used to run and manage one or more virtual machines on a computer — to support live migrations, moving a working VM from one server to another without the need to stop its operation.

Common Challenges with Cloud Migrations

As with any major technological change, there are challenges associated with a cloud migration, but these can largely be alleviated by proper planning, as well as working with the service provider.

Strategies for Migrating

Creating a cloud migration strategy is much like creating a strategy for any major technological initiative. You need to understand your business needs and where you want to go to plan the steps in between.

Cloud Migration Tools

When undertaking a cloud migration, you will almost always be working with one of the major cloud providers, such as Amazon Web Services (AWS), Google Cloud (GCP) and Microsoft Azure. Each of these vendors offers tools and services to help with cloud migrations. Typical migration services include:

Best Practices for Cloud Migration

In addition to having a well-designed plan for your migration, there are best practices that can help to ensure your success. Let’s take a look at a few of them.

In addition to these best practices, Gartner’s IT Roadmap for Cloud Migration suggests the following 5 key stages for cloud migration:

1. Align Objectives

2. Develop plan of action

3. Prepare for Execution

4. Establish governance and mitigate risk

5. Optimize and scale

Getting Started

The process for beginning a cloud migration is similar to the process for beginning any major technology initiative in an organization. You need to have a strategy and a plan, and know who is going to do what and by when. There are likely other considerations, including regulatory requirements, that your organization will need to follow. While it is beyond the scope of this article to map out a complete cloud migration plan, here are some of the key steps to consider:

  1. Choose the workload (data or application) that you want to migrate.
  2. Determine how much data needs to be migrated.
  3. Make sure you aren’t migrating unused legacy applications or stale data.
  4. Ensure that all dependencies among workloads are accounted for; in other words, make sure you’re migrating everything necessary for continued operation.
  5. Decide which workloads should stay on-premises. You may choose to leave certain business-critical applications in your data center, or applications that require low latency. There may also be geographic or other regulatory constraints that determine what workloads should remain on-premises.
  6. Determine the most appropriate type of migration based on all of the above factors, e.g. the “Five Rs” referred to in the section, “How do organizations migrate data to the cloud.”
  7. Create a testing plan to ensure that migrated workloads are functioning properly before moving them into a production environment.

The Bottom Line: Cloud migration requires planning but often delivers big benefits

The cloud is an inescapable part of the modern computing environment and accompanying digital transformation initiatives, and for many organizations who want to experience its value, a cloud migration (and a broader cloud strategy) will be required. Sometimes organizations put off their migrations because they are concerned about potential challenges and problems. While there are challenges inherent in the process, that’s true of any technological change, and shouldn’t deter you from proceeding with a cloud migration plan. Ensure you have a clear understanding of what you want to accomplish and how you will know if it’s going right (or going wrong), secure the appropriate resources and assistance and you can be comfortably certain that your migration will be successful.

Related Articles

What Are Preload Resource Hints?
Learn
8 Minute Read

What Are Preload Resource Hints?

Explore preload resource hints, a powerful optimization method that can significantly improve web performance, user experience and related metrics.
What Is a DNS Prefetch?
Learn
6 Minute Read

What Is a DNS Prefetch?

Understand DNS prefetching, one type of resource hint, including what they are, why and how to use them, and best practices for auditing and scaling.
What Are Preconnect Resource Hints?
Learn
5 Minute Read

What Are Preconnect Resource Hints?

Improve time-to-interactive with preconnect resource hints. This article explores preconnects, why and how to use them, and best practices for scaling.
Synthetic Monitoring vs Real User Monitoring: What’s The Difference?
Learn
3 Minute Read

Synthetic Monitoring vs Real User Monitoring: What’s The Difference?

Both RUM and synthetic monitoring are useful for managing the performance of websites and applications, and the two methodologies work well when paired together.
Continuous Performance Management Basics
Learn
25 Minute Read

Continuous Performance Management Basics

In this blog post, we will walk you through how to develop a continuous performance management playbook for your business.
API Testing vs Monitoring: What's The Difference?
Learn
2 Minute Read

API Testing vs Monitoring: What's The Difference?

Learn about the difference between API monitoring and testing, and when to use which approach in this blog post.
API & HTTP Headers: How to Use Request Headers in API Checks
Learn
3 Minute Read

API & HTTP Headers: How to Use Request Headers in API Checks

Learn about API & HTTP request headers and how to use request headers in API checks in this blog post.