How to Migrate to AWS (Technical Blog Series)
July 8, 2022 - Ollie Bell
The first post in this series looked at Why Migrate to AWS? This second post will cover migrating compute resources, such as databases and applications, to AWS.
If you missed the first post, check it out here: Why Migrate to AWS?
You may have heard that migrating your applications to AWS is challenging and time-consuming. This post discusses migrating your data from your on-premises data centre to AWS.
Phases of Migration
There are many aspects to consider, and it may take up to several months to migrate your entire infrastructure, depending on its size. However, migrating to AWS can be done in phases, allowing you to gradually migrate some of your applications while keeping your existing hardware running.
The migration process can be broken down into four phases:
- Operate and Optimise
Prepare / Discovery
In this phase, you gather information about your existing systems and services to know what needs to be migrated to AWS. You can use AWS Migration Evaluator which removes the guesswork out of understanding your environment.
The Migration Evaluator process consists of installing a Collector on premises which gathers inventory and resource utilisation from hypervisors and servers with or without agents. This data can then be combined with known data about the inventory and then analysed in Migration Evaluator which will give insights into the cost of migrating to AWS, helping you to build a business case for the migration. This can be combined with the AWS Application Discovery Service to get more information about connections and dependencies between applications.
During this stage, you’ll document your existing environment and determine the best practices for moving to AWS. This includes understanding how applications are architected, how data is stored, where it comes from, and how it flows throughout your environment. As such, you may face many challenges such as those listed below:
- Applications that are not documented or not documented well enough for migration purposes
- Data stored in complex formats that must be converted before it can be used with AWS services
- Data that has not been backed up or archived for years
- Servers that are running old operating systems or software versions
- Legacy applications that need to be made compatible with AWS
- Databases that need to be moved off-premises
- Migration of third-party services such as Office 365 or Salesforce.com
- Lack of documentation around existing systems
- A lack of technical skills within your team
- Lack of standardisation in application design and architecture
Working with an AWS partner can help with each stage of the migration process, an accredited partner can leverage their AWS expertise as well as access to migrations tools so you ensure a seamless migration into the cloud while often availing of funding programs such as the Migration Acceleration Program (MAP) to help offset the cost of migrating to AWS.
Plan Your Migration
The planning phase of a migration often takes longer than expected as you need to gather non-technical information about applications such as the current roadmap and importance to the business.
You will need to analyse all the applications with the business to determine which of the 7Rs, Retire, Retain, Rehost, Replatform, Repurchase, Refactor and Relocate migration strategies applies to them. You will probably find that most fall into the Lift-tinker and Shift pattern also known as Replatform category where applications will be moved with minor optimisations to take advantage of cloud native services such as AWS RDS for SQL Server.
Once you’ve determined the how and what needs to be migrated, you will need to plan out the migration process. AWS Migration Hub can help you by providing a single place to discover your existing environment taking feeds from Migration Evaluator and the AWS Application Discovery Service, plan migrations and track the status of each application migration.
It will also help you with tagging resources that are being migrated. This is essential if you are on the AWS Migration Acceleration Program which can provide funding to offset the cost of migration to AWS.
You need to prepare an AWS operational environment to host your applications before any migrations can start. This is probably one of the most important steps in your migration and failure to create this Landing Zone or foundational architecture is a common reason why migrations fail to meet operational expectations.
A landing zone is a well-architected, multi-account AWS environment that is scalable and secure. Building a landing zone involves technical and business decisions to be made across account structure, networking, security, and access management in accordance with your organisation’s growth and business goals for the future. A Landing Zone is setup using AWS Control Tower and AWS Organisations. It also provides detective guardrails using AWS Config and preventative guardrails using AWS Organisations service control policies (SCPs).
It is normally advisable at this stage to carry out some Proof of Concept migrations to understand the migration process followed by pilots of non-production and low impact workloads to prove the migration process including the timings required for the migration plan and change control approval.
During this phase you will execute the Migration Plan. You need to accept that the Migration Plan is a collaboration with the business and an iterative process that may need to be revised as the migration journey progresses. You can make use of many AWS tools that make migrating workloads easier such as:
Application Migration Service (AWS MGN)
AWS MGN helps customers migrate applications to the cloud quickly and easily. It allows customers to migrate their applications to AWS without worrying about manual errors or missed steps in the process.
AWS MGN can be used for both cold and hot application migrations. For example, if you have an application running on-premises and want to move it to the cloud, you can use AWS MGN to migrate it cold. If you have an application that is up and running in AWS but needs some upgrades or modifications, you can use AWS MGN to perform a hot migration.
AWS Database Migration Service (AWS DMS) – helps you migrate your current databases to the AWS Cloud reliably, quickly, and securely. The source database remains fully operational during the migration, minimising downtime with the following features:
Continuous Data Replication: Perform continuous data replication between an on-premise solution and AWS. This is a common issue for many companies that they need to live migrate a database rather than stop the database and application and then migrate and then start the database and application.
Homogeneous Database Migrations: Homogeneous database migration means that the source and target database engines are the same or are compatible like Oracle to Amazon RDS for Oracle, MySQL to Amazon Aurora.
Heterogeneous Database Migrations: In heterogeneous database migrations the source and target databases engines are different such as Oracle to Amazon Aurora or Oracle to PostgreSQL.
AWS Schema Conversion Tool (AWS SCT) – SCT a can be used to convert your database schema from the source database (e.g. on-premise) to the target database (AWS). SCT supports OLTP conversions, data warehouse conversions and NoSQL database conversions.
Operate & Optimise
After migrating, you need to make sure that you are following the best practices for areas such as monitoring, alerting, backups, high availability and still meeting all operational requirements.
Amazon CloudWatch can be used to collect key metrics about compute, storage and networking while the Business can be asked about application performance which may be derived from application monitoring tools or user experience. The underlying application environment can be altered then accordingly to improve performance or reduce costs if required.
Migrating to the AWS cloud can be a challenging process if the right steps are not implemented which is why AWS has accredited partners like transACT Technology Solutions who have the expertise and experience to help organisations implement the optimal path for migration.
Running an AWS environment for your business is beneficial. Using AWS can make your team faster, more efficient, and more innovative. It can be a tool to help you build better software, transform the way you think of your architecture and save you money.
The third part of this technical blog series will cover Database Migration Service (DMS) and migrating complex data to the cloud.