Migrating On-Premises Applications to AWS, Part 1: Overview

Brien Posey outlines the five-step process involved in migrating an application.

Ever since the AWS cloud was first introduced, organizations have been searching for ways of migrating their on-premises applications to the cloud. While it is often possible to perform a lift-and-shift migration, such migrations have historically been complex and time consuming.

Amazon recently released a new cloud migration tool called the AWS Application Migration Service. This tool is specifically designed to help make lift-and-shift migrations of on-premises workloads easier. Better still, the AWS Application Migration Service allows the cloud-based application instance to coexist with the on-premises instance for a period of time, which allows for a smooth non-disruptive transition. This approach also gives admins the piece of mind of knowing that if a migration fails, a copy of the application still resides unaltered in its original location.

The Application Migration Process
There are five high-level steps involved in migrating an application. The first step is to create a replication settings template. The reason why this template is necessary is because AWS will need to create a lightweight EC2 instance (and supporting infrastructure) to facilitate the migration process. This instance's main purpose is to handle the cloning and synchronization of the on-premises workload to the AWS cloud.

The second step in the process is to install an agent onto the server that you are migrating. This agent will enable communications between the on-premises workload and the Amazon cloud. In order for the agent to be able to talk to the replication server, it will need to be able to communicate across TCP port 443.

Once the agent has been installed, the third step in the process involves replicating the application to the AWS cloud. Actually, this step replicates more than just the application. Remember, the AWS Application Migration Service is designed to facilitate lift-and-shift migrations. As such, the migration process replicates the application, its underlying operating system, the data and any required configuration settings.

The fourth step in the migration process is to perform tests to ensure that the recently migrated application is functioning correctly. Incidentally, these tests are non-disruptive in nature meaning that you can thoroughly test the migrated application without having to worry about causing problems for your production workloads.

The fifth and final step in the process is to perform a cutover. This cutover is the process of switching from using the on-premises copy of the application to the cloud-based copy. The cutover should only be performed once testing has confirmed that the application is functioning as intended.

Application Migration Logistics
As previously noted, the application migration process works by replicating a copy of the on-premises application servers to the cloud and then keeping the cloud environment synchronized with the on-premises environment until the organization is ready to cut over to the AWS cloud. This replication and synchronization process is facilitated by an agent that must be installed in the production environment.

The reason why this concept is important is because it means that the entire replication process is dependent upon being able to install the agent onto the application server. As such, only applications running on operating systems that are compatible with the agent can be migrated. Fortunately, Amazon provides both Linux and Windows versions of the agent.

The other implication of using an agent is that the replication and synchronization process occurs at the operating system level and is oblivious to the underlying hardware. This means that the AWS Application Migration Service is able to migrate workloads regardless of whether they are running on physical or virtual hardware.

The agent requirements vary based on the operating system that the agent is being installed on. Linux machines will need to have at least 3 GB of space available in the root directory and at least 500 MB of space in the /tmp directory. Windows machines require 1 GB of free space on the C: drive and version 3.5 of the .NET Framework will need to be installed.

Now that I have provided you with an overview of how the migration process works, I want to walk you through a sample application migration. In Part 2 and Part 3 I will show you step-by-step how to migrate an on-premises Windows server to the AWS cloud. Although these blog posts will focus on Windows, I will provide links to Linux resources where appropriate.

About the Author

Brien Posey is a 19-time Microsoft MVP with decades of IT experience. As a freelance writer, Posey has written thousands of articles and contributed to several dozen books on a wide variety of IT topics. Prior to going freelance, Posey was a CIO for a national chain of hospitals and health care facilities. He has also served as a network administrator for some of the country's largest insurance companies and for the Department of Defense at Fort Knox. In addition to his continued work in IT, Posey has spent the last several years actively training as a commercial scientist-astronaut candidate in preparation to fly on a mission to study polar mesospheric clouds from space. You can follow his spaceflight training on his Web site.