AWS offerings available to support your cloud migration
With over a million active customers, AWS has experience helping organizations of all sizes migrate workloads to the cloud. A common theme is that selecting the right tools is crucial for reducing risk and enabling a reliable migration. In this blog post, I will select some of the most popular AWS migration tools and outline how they can be used to support your cloud migration. It’s worth noting that it’s common for a single application to utilize multiple tools during a migration. I fully encourage you to review what might apply to your scenario. This blog post will introduce you to:
- AWS Application Discovery Service (ADS) – gathers information about your source servers to support the migration planning
- End-of-Support Migration Program for Windows Server (EMP) – used to migrate your legacy applications running on outdated versions of Windows Server to newer, supported versions on AWS
- AWS Application Migration Service (MGN) – provides an automated approach for rehosting servers to the AWS cloud
- AWS DataSync – automates moving file & object data between on-premises and AWS storage services
- AWS Schema Conversion Tool (SCT) – performs assessment reports and automatically converts your schema and code objects to a format compatible with your target database engine
- AWS Database Migration Service (DMS) – helps you migrate databases to AWS quickly and securely, providing replication from your source to your target database
Throughout this post, a hypothetical application will be used as an example to demonstrate the use case for each migration tool. In this scenario, the application needs to be migrated as soon as possible due to business pressures. However, each of the components comes with its complexity or requirements:
- The presentation tier is hosted on Windows Server 2008 R2 and the installation media to reinstall the application is no longer available. An attempt to perform an in place upgrade of the operating system to a modern Windows Server version was successful, however, the application failed to function due to application incompatibility issues with the modern operating system. This server will be migrated to the latest Windows Sever version on Amazon EC2.
- The application tier is hosted on a Windows 2022 server. The application installation media is no longer available and the team wants to migrate to AWS with minimal effort. This server will be migrated to Amazon EC2.
- The application server connects to a Windows File Server via SMB for storing artifacts. This component will be migrated to Amazon FSx.
- The database tier is hosted on a Microsoft SQL Server 2019 database, running on Windows Server 2019. There is a strong business desire to migrate it to a fully managed open-source alternative on AWS. This database will be migrated to Amazon RDS.
AWS Application Discovery Service (ADS)
When approaching a migration, it’s common to find limited information available regarding your on-premises components. Discovery tooling provides an opportunity to uncover or validate data about the servers which will be migrated. This then enables data-driven architectures and decisions to be made. AWS Application Discovery Service helps you plan your migration to AWS by collecting usage and configuration data about your on-premises servers. This includes server data, performance data, and dependency data when the agent option is deployed to the server.
In a migration scenario, AWS ADS is commonly used to validate that there are no missing dependencies. Regarding the hypothetical application, let’s imagine that there is a reporting server that the application frequently connects to, unbeknown to the application team. AWS ADS will show the connections that are being established, helping you uncover servers which have been missed from the migration scope. In the proceeding image, the ADS discovery has been visulised in AWS Migration Hub, showing a wide range of servers connecting to the server where the agent is deployed. This provides a backlog for investigation by the application and migration team.
You can use the AWS Application Discovery Service to discover your on-premises servers at no charge. You only pay for the AWS resources that are provisioned to store your on-premises data.
End-of-Support Migration Program for Windows Server (EMP)
Using a Windows in place upgrade to modernize your end of support servers may not be a straightforward solution if your legacy application has compatibility issues with newer Windows versions. Even if the application is compatible with the newer Windows versions, it would not be possible to migrate it if you don’t have access to up-to-date installation media and installation steps. Further, having an application that can run only on an unsupported version of Windows Server is problematic as you will no longer get free security patch updates. It is difficult to move an application like this to the cloud without significant code changes, which increases the level of effort and timelines to migrate. AWS offers the End-of-Support Migration Program (EMP) for Windows Server to assist:
- Where in place upgrades are not successful, desirable or feasible
- Migrate applications that do not have up-to-date installation media
- Migrate applications that are incompatible with newer version of Windows Server
EMP for Windows Server includes tooling to migrate your legacy applications from Windows Server 2003, 2008, and 2008 R2 to newer, supported versions on AWS, without any code changes. The EMP tool identifies the dependencies your application has on the outdated OS and creates a package that includes the resources necessary for the application to run on the newer version of Windows Server. The package includes all the application files, runtimes, components, deployment tools, and an engine that redirects the API calls from your application to a registry as well as files within the package. This resolves the dependencies and decouples the application from the underlying OS. This enables you to run the packaged application on future version of Windows Server, meaning you don’t have to worry about upgrading these applications when the next end of support event for Windows Server arrives.
Going back to the example, using the AWS EMP toolset the legacy application running on the Windows Server 2008 R2 presentation server will be decoupled from the operating system, captured into an EMP package and deployed onto the latest version of Windows Server on AWS.
If you have legacy applications running on end of support Windows servers in scope for AWS migration, I encourage you to read our EMP documentation. To gain hands on experience using the tool or if you need support to get started with your EMP journey, please complete this form.
AWS Application Migration Service (MGN)
AWS Application Migration Service (MGN) enables you to rehost a wide range of servers from your source environment to Amazon Elastic Cloud Compute (EC2) in a highly automated fashion. Install the AWS MGN replication agent on your source server and define the replication settings. This then commences a continuous block-based data replication to a staging area in your AWS account. Once the data fully replicates, you can launch your target Amazon EC2 instance(s), which automatically converts to run on AWS. Using AWS MGN helps minimize time-intensive, error-prone manual processes when rehosting servers.
AWS MGN has a wide range of supported operating systems and can simplify your migration by enabling you to use the same automated process and pattern for many applications. Taking this a step further, AWS has developed a Cloud Migration Factory solution that provides additional automation to facilitate migrating hundreds or thousands of servers to AWS at pace.
In the hypothetical application, we will leverage AWS MGN to perform the migration of the Windows 2022 application server. Despite no longer having the source code or installation media, we can still migrate this server via AWS MGN. This enables the server to be migrated with minimal effort, allowing the application team to dedicate effort to the other components which require more change.
For each source server you want to migrate, you can use AWS Application Migration Service for a free period of 2,160 hours, which is 90 days when used continuously.
Migrating data to the cloud often requires you to dedicate time, budget, and employee resources. In our example application, we need to migrate data from a Windows File Server to Amazon FSx for Windows File Server, a fully managed and highly performant file system. However, the data is frequently changing due to it being a live system, which adds to the complexity of the migration. To simplify and alleviate the challenges above, AWS DataSync will be leveraged. It is an online data transfer service that automates, and accelerates moving data between on-premises and AWS storage services. Given it performs incremental transfers of data, it makes it ideally suited to migrate active file systems.
When using AWS DataSync, you first configure an agent to read data from the on-premises system (in our case, the Windows File Server). Next, configure a task to transfer files from on-premises to your target AWS location (in our case, Amazon FSx for Windows File Server). Finally, you can start the data transfer task to replicate the data. Using task scheduling in AWS DataSync, you can periodically execute a transfer task from your source storage system to the destination. For example, you may schedule your data migration to occur every hour. There’s then a recent copy of the data in the target to enable application testing before cutover.
AWS Schema Conversion Tool (SCT)
There is a strong business desire to migrate from Microsoft SQL Server 2019 to an open-source alternative in the hypothetical application. It can be challenging to understand how compatible your source database is with a different target database engine without using tooling. Further, once the compatibility has been understood, the schema and other objects’ conversion must occur. That makes heterogeneous migrations a two-step process. First, use the AWS Schema Conversion Tool (free download available on the AWS website) to convert the source schema and code to match the target database. Then use the AWS Database Migration Service (discussed underneath) to migrate data from the source database to the target database.
Alongside offering an automated schema conversion, AWS SCT provides the option to generate an assessment report to understand the complexity and level of effort required to migrate to a given database engine. The image underneath is a screenshot of the executive summary from a sample SCT assessment report. In this example, 90% of the database storage object and 77% of the database code objects can be converted automatically or with minimal changes. Additionally, the areas with complex actions required are highlighted. Using the assessment enables a data-driven approach for your migration. Where you’re performing many heterogeneous database migrations, I recommend running the assessment process against the entire scope to identify quick wins.
AWS Database Migration Service (DMS)
Like the Windows File System, databases can sometimes be challenging to migrate. They store live data that will frequently be changing during the migration project. AWS Database Migration Service (AWS DMS) is the service that can help you migrate databases to AWS quickly and securely. The source database remains fully operational during the migration, minimizing downtime to applications that rely on the database. You only pay for your replication instances and any additional log storage. Each database migration instance includes storage sufficient for swap space, replication logs, and data cache for most replications, and inbound data transfer is free.
AWS Database Migration Service supports homogeneous migrations such as Oracle to Oracle and heterogeneous migrations between different database platforms. In this example, coupling DMS with SCT will enable a heterogeneous migration from Microsoft SQL Server to PostgreSQL. AWS DMS handles all required data type conversions automatically during the migration.
If you have databases to migrate, I encourage you to view the DMS sources for data migration.
I outlined several AWS migration tools available to simplify your migrations throughout this post. Although I focused on a single application stack, the tools are frequently applied to handle some of the largest migrations, such as data center closures. Using AWS tooling can help simplify your migration, make it more predictable, and accelerate achieving the business goals with a lower level of risk. I highly recommend you explore the tools and services available to see if they can assist in achieving your migration goals.
It’s also worth noting that this is only a subset of our migration tooling and services! Consider exploring additional offerings such as:
- Migration Evaluator helps you create a directional business case for AWS cloud planning and migration.
- Porting Assistant for .NET is an analysis tool that scans .NET Framework applications and generates a .NET Core compatibility assessment, helping you port your applications to Linux faster.
- AWS App2Container is a command-line tool for modernizing .NET and Java applications into containerized applications. A2C analyzes and builds an inventory of all applications running in virtual machines, on-premises, or in the cloud.
- AWS Migration Hub provides a single place to store IT asset inventory data while tracking migrations to any AWS Region.