Fotolia
On-premises-to-cloud migration: Top methods and tools to use
One of the first steps in a cloud migration is to choose a data transfer model. There are two options to consider -- online and offline -- but you need to weigh the pros and cons.
There are two main approaches to moving data and applications in an on-premises-to-cloud migration: offline or online migration. Each approach offers different pros and cons from the perspective of performance, cost savings and security.
Benefits of migrating from on-premises to cloud
No matter how you choose to complete a cloud migration, the benefits will likely be the same. In most cases, they include the following:
- Lower costs. Migrating from on-premises to the cloud can help save money, as you pay only for the infrastructure your workloads actually use, assuming they are rightsized to avoid overprovisioning cloud infrastructure.
- Greater scalability. In the cloud, you can scale infrastructure up or down instantaneously, whereas scaling up on-premises requires adding new servers, which can take months to ship and install.
- Less maintenance. Migrating to the cloud eliminates the need to manage physical hardware, which can be a costly and time-consuming burden for IT teams.
- Enhanced reliability. In general, public cloud data centers are more reliable and experience lower downtime rates than most on-premises environments. In this respect, the cloud can lead to greater workload reliability and improved business continuity.
- Geographic flexibility. Major public clouds give customers the option of selecting from dozens of regions around the world when deciding where to host workloads. This flexibility is a benefit because placing workloads in regions that are closer to users can reduce network latency, thereby improving performance. It can also help meet compliance and data sovereignty requirements in some cases.
Types of on-premises-to-cloud migration methods
Many methods are available for moving workloads from on-premises systems to the cloud, each of which can be implemented through either an online or offline migration approach. Here's a look at the most common types of cloud migration techniques, along with their pros and cons.
1. Rehost
Rehosting, also sometimes called lift and shift, means taking an on-premises workload and moving it to the cloud while making few, if any, changes to the workload itself. For example, if you have an application running on an on-premises server, you could rehost it in the cloud by moving it to a cloud-based virtual machine that runs the same operating system as the on-premises server.
Rehosting is the simplest cloud migration method. However, because it doesn't entail modifying workloads in any way, rehosting can mean you miss out on opportunities to improve the application or optimize it for the cloud.
2. Replatform
Replatforming is like rehosting in that it entails moving an application to the cloud without making major changes to the application itself. However, unlike rehosting, replatforming focuses on taking greater advantage of the scalability, maintainability and security of cloud services.
As an example, imagine you have an on-premises application that interacts with an on-premises database. To rehost this workload, you would install the app on a cloud server and connect it to a database that you also install on a cloud server.
But if you wanted to replatform the workload, you might instead host the application on a cloud server while using a managed database service offered by your cloud provider -- as opposed to a database you set up and manage yourself -- to host its data. Doing so reduces the maintenance burden because you no longer have to manage the database on your own, and you don't need to make substantial changes to the application or its data.
3. Repurchase
When you replace self-managed workload components entirely with cloud-based managed services, you're using the repurchase technique.
You can't use the repurchase method for just any type of workload because it requires your cloud provider to offer managed services that provide the functionality necessary to implement the workload in the cloud. But this is often possible in the case of open source applications. For instance, if you currently run the open source streaming event service Apache Kafka on-premises, you could repurchase it by migrating to Amazon Managed Streaming for Apache Kafka, a managed version of Kafka.
The major downside of repurchasing is that you typically will have less control over how your workloads are configured. Managed services usually don't offer as many options as you enjoy when you install and operate an application yourself. On the other hand, repurchasing is a fast and simple migration method that eliminates the need to manage workloads on your own.
4. Refactor
Refactoring an application involves rewriting some or all of its source code without making major changes to the functionality or features of the application itself.
As a cloud migration method, refactoring's main advantage is that it enables you to update the application's internal contents in ways that can help it take better advantage of the cloud. For instance, you could break the application into microservices, deploying each microservice in its own container. Doing so would likely improve your ability to scale the app in the cloud because you'd be able to scale each microservice separately.
Online vs. offline cloud data migration
In addition to selecting an on-premises-to-cloud migration method, you'll need to decide whether to perform an offline or online migration.
What is an offline migration?
In an offline migration, an enterprise uses physical storage media -- such as portable disk drives or storage appliances -- to move workloads to a cloud environment. Under this method, administrators acquire portable storage media, copy data from local systems onto it and then physically deliver the media to a cloud provider. After that, the provider uploads the data to its cloud using a local network connection -- which is faster than the public internet -- or connects the storage media directly to its cloud servers. Once data is in the cloud, the offline migration is considered complete and the portable storage media can be decommissioned or reused.
This on-premises-to-cloud migration approach usually costs more than an online transfer because the organization must rent or buy large volumes of storage media and then pay to relocate them. This method also typically requires more planning and effort than an online migration because admins must acquire portable storage media and manage the multistep process of moving them physically to a cloud provider. They must also manage the physical security risks that could arise from unauthorized parties accessing portable storage media that contain sensitive data.
What is an online migration?
An online cloud migration uses a network -- either a cloud provider's direct connection service or the public internet -- to transfer data and applications to a cloud data center in real time. Online migrations are simpler overall because IT teams can copy data in one step from their local infrastructure to the cloud. Online migration typically also offers cost savings compared to offline approaches because the only expense is whatever it costs to pay for the bandwidth necessary to transfer data from on-premises to a cloud. Most cloud providers don't charge ingress fees for incoming data; they only charge for egress, meaning data that leaves their clouds.
The major disadvantage with online cloud migrations is they can be slow -- especially when businesses have large amounts of data to transfer -- due to network bandwidth limitations. In addition, moving data over the internet can expose it to network-borne security risks.
Choose between an offline vs. online migration
To decide whether offline or online migration best fits your needs, consider the following.
1. Data volume
The biggest factors to consider when choosing an on-premises-to-cloud migration method are how much data you need to move and how quickly you need to move it. Although an online migration might be the easiest and most popular choice, it can be problematic for organizations with large amounts of data and a strict migration time frame.
For example, if an organization has only 1 TB of data to migrate and a 1 GBps network connection is available, the online migration should take under three hours over a standard internet connection. However, 1,000 TB would likely take more than 100 days to transfer over the same network connection.
Total transfer time is important to consider because it determines not just how long the migration process will take but also how much data syncing must be performed post-migration to ensure the cloud-based copy of your data perfectly represents the most recent on-premises version of the data. If workloads remain operational on-premises while migration is underway, the data moved into the cloud might end up being different than the most up-to-date data that exists on-premises.
2. Workload interruptibility
One way to address the challenge of having to keep data in sync during a migration is to shut down workloads prior to migration so data remains consistent between the on-premises and cloud copies. However, that might not be acceptable if you have mission-critical workloads that can't be suspended. It can also be an issue if you have a lot of data to move and you can't leave an application or service shut off for days or weeks while you wait for an online migration to complete.
Another approach is to perform the migration while leaving your workload active, then shut it down and do a data sync -- using a tool such as Rsync -- between the on-premises and cloud-based data copies that only updates the data that has changed since migration. This can reduce workload downtime because the workload is only inactive while the syncing takes place, not during the full migration process. But bear in mind that the syncing process can end up taking a long time if there are many differences between the on-premises and cloud instances of your data, so this method might still entail significant downtime.
For these reasons, consider how much, if any, disruption your workloads can tolerate when performing a migration. Because offline migration is faster in situations involving large volumes of data, it might be preferable in cases where you need to migrate large volumes of data while minimizing downtime.
3. Network reliability
The reliability of the network connection must also be considered when evaluating on-premises-to-cloud migration methods. If a network connection is intermittent or bandwidth availability fluctuates unpredictably, an online migration could take longer than is acceptable. Some data might also need to be recopied because of failed transmissions over a flaky connection, exacerbating the time and difficulty of the migration. There's much lower risk of data transfer issues when performing offline migration because physical storage media and local uploads are generally more reliable than using the internet.
4. Security
Security is another issue. If an online network can't be trusted, or it's not possible to encrypt sensitive data before the migration, an offline migration might be necessary. It's important to think about the physical security risks of offline data migration if you choose that route.
Whether you choose online or offline migration, data compression is one of a few techniques that can accelerate the process. Data compression reduces the number of bits required to represent data, so more data can move using the same network bandwidth or less physical storage media. In addition, enterprises can streamline online migration by transferring the most important data first, such as data that powers mission-critical workloads. This technique enables users to take advantage of the cloud more quickly, even if the overall migration takes a while. Scanning data to remove redundant or unnecessary files prior to migration can also reduce the total amount of data to be migrated and speed the migration process.
Cloud migration tools
Out of these two on-premises-to-cloud migration approaches, the online method remains the most popular because most organizations don't have massive volumes of data to move. As a result, cloud migration tools cater mostly to online strategies. To smooth the process, most of these tools have assessment and cost estimation features, as well as automation capabilities.
Some popular native and third-party online migration tools include the following:
- AWS Server Migration Service.
- Microsoft Azure Migrate.
- Google Cloud Migration Center.
- Carbonite Migrate.
- Clonezilla.
- Rsync.
The main advantage of using a third-party cloud migration tool over a provider's native offering is flexibility. Most third-party tools support migrations into multiple clouds, whereas major cloud providers' tools are only compatible with their respective platforms. Additionally, enterprises can use third-party tools in conjunction with cloud vendors' native tools.
You can also use cloud vendors' services or third-party tools to perform offline migrations. Popular options include the following:
- AWS Snowball.
- Google Data Transfer Appliance.
- Azure Data Box.
- RiverMeadow.
A key difference between cloud vendor offline migration tools and third-party offerings is that customers who choose cloud vendor offerings might have to purchase or rent data storage media directly from the cloud vendor. For example, Azure Data Box requires the use of a special storage device called a Data Box that customers purchase through Azure. AWS Snowball likewise requires customers to use storage appliances supplied by Amazon. With third-party tools, businesses can generally use any storage media to complete their cloud migration. In addition, some third-party cloud migration service providers offer the ability to migrate data to more than one cloud, which can be useful if you plan to use a multi-cloud architecture.
Chris Tozzi is a freelance writer, research adviser, and professor of IT and society. He has previously worked as a journalist and Linux systems administrator.