AWS Cloud Operations Blog
Accelerating large-scale cloud migrations with repeatable patterns
Many Amazon Web Services (AWS) customers initiate large-scale cloud migrations to achieve specific business outcomes. The reasons for migration include consolidating or vacating data centres, adopting a cloud-first strategy, increasing agility and staff productivity, and reducing the total cost of ownership for IT.
Using repeatable patterns for migrating workloads are a great way to jumpstart and scale cloud migrations. In this blog post, we will discuss how to accelerate large-scale (>300 servers) cloud migrations by using repeatable migration patterns.
What are migration patterns?
Migration patterns are ‘cookie cutters’ to move workloads rapidly and reliably into the cloud. They provide repeatable mechanisms that can be applied across the in-scope estate. These include reusable runbooks and workflows, documentation, architecture blueprints, code, automation, and templates. Leveraging these artifacts can help accelerate your cloud migration journey while reducing the overall level of effort. Patterns can be continuously improved by applying lessons learned from migrations, irrespective of whether they are executed centrally or in a federated model.
Best practices to apply patterns to your migration
Starting your migration
AWS actively publishes and maintains migration patterns on the AWS Prescriptive Guidance (APG) website. Customers looking to perform an AWS cloud migration leverage these time-tested and proven migration patterns. Using migration patterns from AWS technology experts helps you to gain traction and accelerate your migration project. We recommend using these patterns as a starting point which you can then build upon to include requirements which are specific to your organization.
For large scale migrations, we recommend starting with generic patterns that can be applied widely across your in-scope estate. For example, the AWS Application Migration Service (AWS MGN) can be leveraged to migrate all applications and databases to Amazon Elastic Compute Cloud (Amazon EC2) from any source infrastructure that runs supported operating systems. Establishing repeatable patterns early in your cloud journey allows your subject matter experts to focus on migrating more complex systems.
Scaling your migration
As you start to scale your cloud migration, it’s common create more and more migration patterns to meet the ever-changing requirements of each application. However, you should avoid this by limiting the number of patterns which are created for the overall program. Having a smaller number of migration patterns which are applied widely creates better economies of scale, increases the migration efficiency, and enables a more seamless migration. For example, where repeatable patterns are applied, more time can be spent on upskilling engineers, lessons learned can be captured, and holistic runbooks with a wide range of scenarios can be created. This will result in less time needed for each migration and a reduced likelihood of issues occurring.
Once you have proven your migration process and runbooks by successfully migrating several waves, you can increase the efficiencies further by identifying tasks which can be automated. Large migrations are repetitive in nature due to there being hundreds if not thousands of servers in scope. Automation provides an opportunity to accelerate migrations while decreasing the overall level of effort.
Automating governance functions
Cloud governance can include reviewing to-be architectures and deployments, validating guardrails, evidencing compliance standards, and ensuring deployments are well architected. Migration patterns are designed to be repeatable units of work which are applied widely across the in-scope estate, creating an opportunity for holistic reviews to be carried out at a pattern level. The findings from pattern can then be implemented into the runbooks and automation, which are then widely applied across the estate to speed up the migration. This will enable governance teams to focus more effort where applications deviate from the standard process.
Workflow tools to manage migrations
We recommend using workflow tools to track and manage the implementation of the migration. This helps ensure that critical steps within the runbooks are not missed, and clear ownership is assigned. Further, it simplifies the ability to track tasks throughout the entire migration phase, which becomes increasingly challenging when running multiple migration waves concurrently.
It’s common for large enterprises to execute migrations in a federated approach where each application team would own their migration activities. However, large scale migrations typically include centralised goals such as vacating a data center. Implementing structured workflows provides central teams visibility into the migration, for example, allowing governance teams to identify where a critical step is skipped. Additionally, the workflows can be used to record the migration process which facilitates tracking when assets have been migrated.
Continuous improvement flywheel
A continuous improvement cycle is important in a large-scale cloud migration because it allows organizations to identify areas for improvement and implement changes in an iterative manner. When patterns are applied to a large proportion of the migration scope, retrospectives can be carried out to uncover areas for improvement. These lessons learnt are than applied to the reusable artifacts (such as runbooks and automation), which are then be applied to all subsequent applications and servers. Conversely, where a bespoke approach is followed for each application, it’s difficult to attribute lessons learnt to subsequent waves given the same process may not be followed.
Final thoughts
Incorporating a small number of patterns which are applied to all workloads in-scope of your large-scale migration accelerates the velocity while reducing the overall level of effort. It enables you to invest in developing automation and detailed runbooks, which will provide a mechanism for your governance functions to scale. You can then implement a continuous improvement framework on-top of the patterns which provides a greater level of consistency and confidence in migrating workloads to AWS cloud.
We recommend exploring how patterns can be applied to your migration initiative. To do this, start by browsing the time-tested patterns created and published by AWS Experts on the AWS Prescriptive Guidance website. Additionally, see guidance on creating migration runbooks to understand the steps required and access templates.
About the authors: