Migration to AWS
Migrating to AWS is not simple and before any real technical work is done, we will need to assess and compile:
Business Requirements, Business Strategy, A Business Case and ROI estimation, Constraints, Current Estate, Gaps, Future Target Model, Gaps and Stakeholder support and expectations.
Agile is the best delivery model for migration and rehosting or replatforming. Do ‘transformation’ later. Get used to the platform first.
1: Identify resources and responsibilities
The pre-planning stage starts with identifying your budget, scope, and schedule. Some of the things you should outline during this phase include:
- Key resources for migration work streams
- People and departments responsible for each resource
- Size of transferable items (databases, data centres, applications)
- Migration phases (stages)
- Timeline for each step of the migration
- Risk and mitigation logs (including data backup tools)
You can facilitate the process by creating a RACI (Responsible, Accountable, Consulted, and Informed) chart. This chart will help you assign roles to specific stakeholders and define their responsibilities during migration.
2: Outline migration teams
Successful migration often has two types of responsible migration teams:
- Migration Factory teams. Agile and cross functional. Use Jira/Confluence/Slack, Agile tooling. These help to execute the migration plan and transfer applications. They also automate repeated patterns and low-complexity operations to make the whole process faster. Usually, companies have multiple migration factory teams that work concurrently on different types of applications.
- Core Cloud teams. Part of the Agile process. These are more of a central hub to manage your project and share insights among migration teams. The Core Cloud teams help coordinate resources, assess risks, develop automation solutions, and optimize backlogs. The team should also form a Cloud Centre of Excellence (CCoE) for accumulating best practices, standards, and automation tools.
Create a communication plan that outlines change management, reporting, escalation procedures, and communication tools. Usually, the Core Cloud team will drive communications during the AWS migration.
3: Define the project management methodology
A management methodology is a set of tools designed to help you streamline your AWS cloud migration project. Transferring workloads to the cloud requires a clearly defined and practical approach.
AWS Prescriptive Guidance contains proven approaches and patterns to accelerate your migration to the cloud. You can use it as a template for your AWS cloud migration plan.
4: Assess the readiness for cloud operations
This is the fundamental part of the migration process that consists of financial and technical planning.
- Financial planning involves a detailed analysis of the costs for transferring workloads to AWS. The expenses include the costs to migrate the targeted environment to the cloud. You should also account for server, storage, and network costs.
- Technical planning is the deep evaluation of your application’s architectures. If you want to be agile, your team should build a backlog and determine which apps and data to transfer first. Moreover, you must consider the possible security risks and identify the critical assets that are better kept off the cloud.
Convene a small team or teams of SMEs, to gather information about the current architecture. These teams should organize applications in your environment into patterns to determine the costs and timelines for each.
The scale of the migration project can be overwhelming. It would help to adopt the iterative methodology, which means prioritizing applications and moving several apps to the cloud simultaneously in sprints.
The progress can be slow and expensive at first, but your teams will get more proficient as you proceed with the migration.
5: Find an experienced cloud partner
A skilled AWS partner can guide you through the migration process, making it faster, smoother, and, ultimately, cheaper. Use: Automation, Reusable Patterns, Cloud native AWS services, Experience.
- Data safety. Professional companies can guarantee the security of your information.
- Experience. Make sure your vendor has relevant expertise if you want to avoid the widespread AWS cloud migration issues.
- Pricing. The migration procedure may be costly, but the right vendor can reduce your expenses with a practical framework.
- Certification. When you’re dealing with AWS Consulting Partners, you can be sure they’re experts with deep technical expertise.
6: Planning AWS cloud migration
Primary objective is to review tools and management methods to streamline the migration.
AWS migration tools
Cloud migration is a complex process, but middleware software can help you migrate applications and databases to the AWS cloud with the least effort.
Some valuable tools for AWS migration are:
- Migration Evaluator A tool for analysing data from an on-premises environment to help transfer applications and software to the cloud at the lowest cost of ownership.
- Cloud Adoption Readiness Tool (CART). A 16-question online survey that generates a report with a conclusion and recommendations on your readiness for AWS cloud migration
- AWS Migration Hub. A unified location where you can streamline, plan, and track app migrations.
- AWS Application Discovery Services. A useful app for AWS cloud migration planning that helps analyse on-premises servers (including configurations, processes, network connections, and resource usage) and calculate the cost before migration. This tool integrates with AWS Migration Hub to help you track the data transfer.
- AppDynamics. An intuitive platform for performance management that works with on-premises, SaaS, private, and hybrid environments and has several AWS monitoring features.
- AWS Server Migration Service (SMS). An agentless service that helps you automate, schedule, coordinate, and track replications of large workload volumes from on-premises locations to AWS cloud with minimal network bandwidth.
- AWS Database Migration Service (DMS). An intuitive service that helps to migrate data from the commonly used open-source and commercial databases to Amazon services.
- CloudEndure Migration. An automated tool that simplifies and reduces the cost of transferring apps, physical, virtual, and cloud servers to your AWS account.
7: Cloud storage operations
Estimate cloud storage options based on the costs, response time, accessibility, and update consistency. The categories of AWS cloud storage include:
- File storage. Cloud storage with a file system that supports Network Attached Storage. It’s a perfect option for shared files, content repositories, and media stores. Amazon EFS (Elastic File System) and Amazon FSx for Windows File Server are good examples of file storage.
- Object storage. Scalable storage type made for app development. Object storage solutions like Amazon S3 (Simple Storage Service) and Amazon Glacier are secure and easy-to-use platforms for deep analysis and storage costs optimization.
- Block storage. Low-latency storage with virtual servers. Block storages like Amazon Elastic Block Store (EBS) are ideal for databases and enterprise resource planning (ERP) systems.
The next step is setting up the foundation for the transfer.
8: Migration strategies
You need to outline a migration plan for each application in your portfolio to figure out what to prioritize:
- Rehost— for apps that can be transferred without changes
- Retire — for apps you no longer need (about 15% of the IT portfolio usually becomes irrelevant after moving to a cloud platform)
- Retain — critical business apps that need major reworking before transferring
- Repurchase — perpetual apps you can replace with SaaS solutions
- Replatform — apps requiring slight optimization to improve their effectiveness
- Refactor (Rearchitect) — the most expensive strategy for apps that need enhancement with cloud-native features
A well-designed migration strategy will align with your company’s business goals and vision. Just remember that it should help your teams.
9: Application migration options
The most common options are:
- Live migration refers to continuous data transfer without disconnecting the application
- AWS data migration means pushing data to the AWS cloud while keeping the file format and storage type
- VM conversion is about transforming virtual machine disk data with API (Application Programming Interface) to turn it into an AWS-compatible format
- App containerization involves OS tools for converting, deploying, and running distributed applications. These options differ not only in approaches but also in the level of effort. For example, live migration and VM conversion require the least time and resources, whereas App containerization requires in-depth planning and complex system configurations.
10: AWS cloud migration steps
Agile teams with SMEs from applications, infrastructure, testing, operations, and the business. Actual migration process can roughly be split into six steps:
- Operational Management
- Assess against the business case and expectations
Your teams start by gathering info about the applications you prioritized for migration. There are two types of data:
- Discover Business Information (project roadmap, operation runbooks, app owner, and planning backlog)
- Discover Technical Information (data flow, process data, connectivity, and server stats)
For apps that require optimization or restructuring, confirm the gathered data with the application owner and the Migration Factory team. Rehost apps (that can be moved without changes) are usually analysed in groups of matching patterns.
Develop a Target State document, which will include:
- AWS architecture
- Application architecture
- Supporting processes and components
The workflow usually depends on the Infrastructure Architecture document that outlines information about:
- AWS migration service and tools
- Foundational elements
- Data flow
- Resource consumption (external and internal)
- Monitoring design
This info was aggregated during the pre-planning phase and the discovery step. The engineering and sprint teams will use this data to stage the design for the AWS environment.
Migration teams move the app according to the approved design. Assign roles between stakeholders based on the necessary tools, templates, and other requirements. The teams will use the methodology, strategies, and software you’ve chosen during the pre-planning and planning phases.
After the transfer, your team works with external service providers to connect the application to the AWS cloud. Work with consumers to test the functionality of each app. Confirm basic validations against the AWS-hosted apps before moving to the next step.
Prior to the release, the teams have to evaluate each application for:
- Performance baselines
- Build verification
- Business continuity
- Disaster recovery capability
Verify release management, as well as the rollback plan (in case the AWS cloud migration was unsuccessful). Before moving to the next stage, run parallel testing for applications.
Perform the user acceptance test and identify if the migration was successful. In case of failure, you’ll have to roll the migration back according to the plan. The first few tries should give you an idea of how to proceed and which processes require optimization. But here’s the good part: you’ll save significant resources and time if you work with a certified AWS consulting partner who can help you pick the best frameworks, methodologies, and tools.
#7 Operationally Manage the deployment
Hypercare to ensure access, availability, performance. Ensure components are operating as desired. Solicit end user and stakeholder feedback.
#8 Monitor, assess the business case and ROI with actuals
Hold retrospectives with the team(s) and stakeholders. Reflect on what went well and what did not. Assess the deployment against the business case and plan. Ensure that on-going monitoring of costs, budgets and expected ROI is being conducted.