Karl Robinson
February 14, 2020
Karl is CEO and Co-Founder of Logicata – he’s an AWS Community Builder in the Cloud Operations category, and AWS Certified to Solutions Architect Professional level. Knowledgeable, informal, and approachable, Karl has founded, grown, and sold internet and cloud-hosting companies.
Migrating your on-premises workloads to AWS may seem like a daunting task to the uninitiated. It is however a process that has been repeated by many AWS customers, and one which has evolved and been refined over the years. Here I’m going to outline the 5 major steps to an AWS Migration to demystify the process.
Step 1 – Evaluation – Understand the Why?
Many cloud migration projects have been doomed to fail because businesses have simply jumped on the cloud bandwagon without really understanding the ‘why’ – why is your business looking to migrate to the cloud, and what are you hoping to achieve by doing so?
Are you looking to save money? This is one of the most common reasons and is often achievable, but not always – it is, therefore, important to conduct a high-level TCO comparison between current run costs and forecast run costs in the cloud, before proceeding any further.
Saving money may not be the only factor – it’s important to understand what success will look like for your business. You’ll need key stakeholder buy-in – they will want to know what success looks like and how you will measure it.
Step 2 – Assessment & Planning
Once you’ve made the decision to push the button on your AWS migration, it’s time to fully understand your on-premises infrastructure. Your infrastructure should be assessed through an application lens – what servers, databases etc are required to support specific business applications. Once you have grouped all of your infrastructure into applications, those applications need to be categorized against the 6Rs of Cloud Migration – Rehost, Replatform, Refactor, Repurchase, Retain, Retire – you can read more about this in our post ‘What are the 6Rs of Cloud Migration?‘.
Once you’ve categorized your applications against the 6Rs, it’s time to start planning the migration execution:
- Which applications can move first? Start with low complexity applications to get some quick wins and some momentum behind your AWS migration project.
- What are the dependencies between applications? Do some need to move together as a group?
- What are the software licensing applications of moving to the cloud?
Step 3 – Design
Now you know what applications you are going to move and when you’ll need to architect the target AWS Landing Zone that you are going to migrate your apps into. There are many considerations to take into account when designing your AWS platform:
- What are your Security Requirements?
- Who will need access to the cloud environment?
- Are there any compliance standards you need to adhere to which may affect the design?
- What are your uptime and resilience requirements?
- What region or regions do you want to deploy your applications into?
- Will you be leveraging Platform as a Service (PaaS) solutions?
Step 4 – Migration Execution
Now you’ve planned your AWS migration and built your AWS Landing Zone, it’s time to start executing on the migration. There are various software tools available to help with migrating data from on-premises to AWS – AWS offers its own Server Migration Service software free of charge for 3 months to remove commercial barriers to migration.
Server Migration Service enables you to create virtual copies of your servers in the AWS cloud, which remain in sync with the on-premise workloads until you are ready to move production to the cloud. These virtual copies can then be deployed into your AWS Landing Zone, tested and promoted to be the main production services.
The on-premises and AWS environments can be run in parallel while you migrate traffic, users, and content – you’ll then need a strategy to decommission the on-premise servers to ensure you realize the commercial benefits of AWS migration.
Step 5 – Operate & Optimize
Once your production applications are running in AWS, you’ll need to ensure that you have an operating model in place to continue to operate your applications effectively. You’ll need to consider cloud-native or third-party tools for things like:
- Monitoring
- Deployment
- Patch Management
- Endpoint Protection
- Intrusion Detection & Prevention
You will also need to ensure that your AWS environment is optimized from a cost, availability, and security perspective. It is easy for your costs to spiral out of control on AWS as you will be billed for things that perhaps you considered ‘free’ in your on-premises infrastructure, or at least were accounted for in different ways.
It may make sense to enlist the help of an AWS Managed Cloud Services provider to assist with the ongoing operation and optimization of your AWS environment – they can focus on the infrastructure heavy lifting while you focus on delivering real business value.