The Fundamental Steps of AWS Migrations

Many companies have shifted to the public cloud in favor of rapid scaling, lower costs, availability, disaster recovery, and increased security. Migrating to the cloud requires extensive planning and effort. Dedicating enough time to assess business goals, take inventory of existing infrastructure, design a thoroughly detailed plan, and test the migration plan will lead to an efficient and highly successful overall migration. AWS identifies three different primary phases associated with the migration process: assess, mobilize, and migrate/modernize.

Phase 1 - Assess

The assess phase consists of defining migration goals and examining the current environment thoroughly to identify and evaluate strengths and opportunities for further growth.

There are several questions that must be asked:

  • What does the team intend to achieve by migrating to the cloud?

  • Applications:

    • Are there any legacy applications?

    • Which apps does the team want moved to the cloud?

    • Which NEED to be modernized?

    • Which (if any) can be retired?

    • What dependencies exist between applications?

  • Are there any licenses? If so, what are the restrictions?

  • Are there performance, security, and networking requirements?

  • What will happen to the data? What volume of data needs to be migrated?

  • What budget is allocated to the migration?

  • What are the key performance indicators? (KPIs)

  • Can there be any downtime or is a live migration necessary?

The answers to these questions will determine to what extent your on-premise environment will be migrated to the cloud. In short, the assess portion of the migration identifies all components, requirements, and concerns about the existing environment. The assessment of the existing environment fuels the next phase of the migration, the mobilization.

Phase 2 - Mobilize

After having thoroughly assessed your current state in the previous phase, you should have a clear picture of all the pieces that are going to be moving to the cloud as well as the business needs and requirements. Blockers discovered in the previous phase can be addressed here. The mobilize phase of a migration is where a detailed migration strategy is established and begins to get implemented. It’s important to note that a migration is often incremental, not an all-in-one lift and shift within a single deployment. Migrating in phases can be very beneficial for the organization because bugs and issues are more easily identified and resolved in smaller components. Regardless of whether the organization chooses to migrate the application and all dependencies at once or to proceed with an incremental migration, the strategy used for the migration plan is critical.

The 6 commonly used migration strategies are relocate, refactor, retain, rehost, re-platform, and retire. The most common strategy is re-platform, where an application is moved to the cloud with some minor changes that leverage the cloud’s capabilities. For example, your Cognos Analytics application may use an on-premise Microsoft SQL database. Instead of switching to an Elastic Compute Cloud (EC2) instance with Microsoft SQL installed on it, you may take advantage of AWS’s Relational Database Service (RDS). RDS is a managed database service that would allow you to store your data without having to deal with any of the underlying infrastructure or patching. In this example, a legacy application has been deployed onto an EC2 instance in the cloud, and the app is taking advantage of a cloud-native database platform, RDS. The best time to modernize your existing applications is during the migration so that the applications benefit from the cloud’s offerings from the start. 

AWS has tools that can aid the migration process such as the  AWS Migration Hub , AWS Migration Evaluator, and AWS Database Migration Service (DMS) however many of these require extensive setup and customized configurations.

To advance the migration, a new set of questions must be addressed:

  • Which services or methods will be used to migrate which components?

  • How will new changes to the existing infrastructure be implemented?

  • How can portions of the migration be tested?

  • Through what method will security measures be established?

  • What are the milestones on the timeline for each piece of the migration?

  • How can portions of the migration be tested?

  • What is the disaster recovery strategy?

Once the team is aware of what lies in the current environment, what will change, and how it will get moved to the cloud, steps are taken to begin testing the migration strategy. One example of this would be using DMS to migrate a couple of tables from a database on-premise to RDS in the cloud. Another example is configuring a Virtual Private Network so that team members can access resources in the cloud securely across a private network.

Running through a variety of tests allows the team to identify any restrictions or issues that could interfere with the smooth transition the team has planned for in this phase, and to address any wrinkles in these plans.

Phase 3 - Migrate & Modernize

Once a thorough, detailed plan has been established and tested, the execution of this plan will begin in the migrate and modernize phase. All identified workloads are shifted to the cloud. Once workloads have been deployed in the cloud, the team can continue to test and monitor their KPIs. Any additional changes to further modernize the applications and leverage the cloud can be tested and implemented during this phase as well.

Once you understand the components of each of the phases of the migration, give this cloud migration checklist a look to more specifically guide you through your own migration.

Conclusion

The scale of a complex migration can initially seem overwhelming due to the extensive planning required and the familiarity with the cloud’s capabilities. Many organizations turn to experienced professionals to develop, facilitate, and implement the migration strategy. This approach is highly recommended. The migration experts can make the decisions regarding which storage options, instance types, database platforms, etc. to use to meet the application’s needs and stay within budget. Knowledgeable architects can construct the most efficient, cost-effective architecture that takes advantage of the cloud provider’s offerings. The migration strategy and architecture tailored to the organization’s key business objectives and application performance allow the organization to focus less on the migration itself and more on the cost savings and benefits the migration brings.

If you need help starting your cloud journey, or just want to talk shop, reach out to us! We would love to help your company navigate the transition to running your applications in the cloud. We hope you found this article informative. Be sure to subscribe to our newsletter for AWS technical articles, updates, and insights delivered directly to your inbox.