When a functioning product is in live production, any change introduces the risk of downtime. Migrating parts or all of your production and pre-production environments to the cloud or switching from one cloud provider to another amplifies this risk significantly.
To help reduce risk, we have created a short checklist for the infrastructure team lead or software architect to start preparing an actionable migration plan.
We tried to keep the list cloud-neutral, but since Opsfleet is both an AWS and GCP services partner, we naturally addressed these clouds the most.
Cloud Migration Checklist
- Start by determining the type of migration you want to pursue: Lift & Shift or a Modernization project. Avoid combining both in one migration.
- some text
- Lift and shift projects can be completed in a few short phases.
The goal is to transition to the new cloud environment as quickly as possible while making minimal changes to the application and software architecture. - Modernization projects often take a while as they involve making small incremental changes over a few months. You set up your new infrastructure using modern technology and gradually transition one application at a time, while still running the old legacy code on the original infrastructure.
- If you are considering moving to AWS, it's important to plan your account structure in advance.
We recommend starting with AWS Organization and setting up at least two accounts: one for pre-production workloads (dev) and one for production.
(you can learn more about AWS organizations in our of our blog posts here)
- Set a time to connect your existing IDP (Google, Azure AD, etc.) to your new AWS or Google Cloud accounts. In AWS, you can use the IAM Identity Center (formerly AWS SSO) to simplify the process.
- Create a multi-phase plan: split your migration plan into testable and runnable parts. For example, migrate the backend applications first, then the front-end components, and finally the databases.
Make sure to prepare the relevant sanity tests for each migration phase
- If you are moving from an on-premises setup, avoid the temptation to self-host your databases or other infrastructure. Instead, make use of the managed services provided by cloud providers to expedite the migration and save time on maintenance in the future.
- Please remember the following information:
- Estimate the post-migration cloud costs to verify that the move is within the set budget.
- some text
- Pay attention to network costs. When migrating from On-prem environments, you may overlook the hidden network traffic costs in the cloud, as On-prem network costs are not defined by the amount of traffic.
- If migrating a Windows-based workload to AWS, ensure that you fully understand the licensing implications.
Not every license you purchase can be easily transferred to the cloud.
Performance and cost optimization tasks should be done in phase two of the migration. Focus first on making the application work, then optimize.
- Consider testing high-cost components in advance. When working with an AWS or GCP partner, you can apply for a funding program to assist with the professional services work related to the initial testing stage.
- Don’t oversimplify your cloud networking setup.
- Use private subnets for resources that shouldn’t be accessible from the internet.
- Plan for secure remote access using a VPN or alternative solution.
It's a good idea to start using infrastructure as code from the beginning of the migration project instead of manually setting up the initial cloud.
This may extend the migration timeline a bit, but it will bring long-term benefits such as the ability to easily replicate a new environment, improved governance, and better control over infrastructure disaster recovery.
Summary
Cloud Migration is a huge technical challenge for a company at any scale due to the amount of moving parts, alongside the risk of downtime.
Opsfleet DevOps specialists have performed dozens of cloud migrations and can help you migrate your infrastructure quickly and safely, with minimal effort from your side.
You can learn more about it here