AWS五步迁移法
根据AWS推荐的最佳实践,已经以往的迁移经验,从本地数据中心或其他云迁移到AWS可以分为下面五步:
第1阶段:迁移准备和业务规划
- 现状评估:与客户沟通Key Person沟通并了解系统部署情况,存在的问题或不足
- 用户目标:业务发展的要求,用户的希望通过迁移解决什么问题,有什么收益?
- 差距分析:目标和现在的差异是什么?
- 制定行动计划
第2阶段:产品组合发现和规划
当处理一个重大的项目时,最具挑战性的部分是决定从哪里开始。
步骤一:调研当前基础设施情况
- 收集客户当前基础设施的性能、使用情况、部署情况,进行记录。
- 了解业务应用的优先级,系统间的相互依赖度
- 列出应用程序基础设施清单
步骤二:确定首批迁移的应用
建议首批迁移的应用如下:
- 与其他业务应用依赖关系最少的应用。
- 从供应过剩或空闲资源最多的应用开始。
步骤三:确定迁移策略
实际工作中比较常用的包括:
- 重新托管(Rehost)。这种方法允许保持应用程序的原样,并在AWS上运行时进行任何必要的调整。
- 修补后迁移(Replatform)。通过选择托管数据库或者将应用程序迁移到 AWS Elastic Beanstalk 等完全托管的平台,获得更大的收益。
- 部分重构。应用程序的某些方面可以保持原样,但其他部分可能需要重新构建才能在AWS上正常运行。
- 完整的重构。重新构建应用程序是最耗时的方法,但它也代表了利用AWS云的灵活性和可用性的最大机会。
步骤四:团队建设,确定全面的业务计划
组建迁移团队后,甲乙双方项目经理将一同对后续的迁移进行计划,并制作预算,计划和预算通过后,双方签订合同,开始正式迁移工作。
第3阶段:迁移设计
在此阶段,项目组的架构设计师将根据用户的业务情况,帮助用户进行以下设计:
- 整体架构设计
- 系统可靠性设计
- 系统安全性设计
- 上云后运维管理设计
- 成本设计
第4阶段:迁移和验证
理想情况下,该过程遵循以下模式:
- 实施工程师在AWS CloudFormation中构建已批准的架构
- 使用AWS提供的机器映像(AMI),并使用Puppet或Chef等自动化配置管理工具为每个应用程序进一步配置
- 服务器、数据库和数据迁移到AWS
- 云工程师开始初始测试过程
- 其他团队测试和验证应用程序性能、安全性、合规性等。
第5阶段:运营及优化
虽然在迁移过程中确定了许多具有成本效益的迁移的关键元素,但是在AWS平台上获得长期成功的关键是不断优化。
本文参考文献:AWS Migration Whitepaper
AWS Five-Step Migration Method
Based on AWS recommended best practices and previous migration experience, migrating from on-premises data centers or other clouds to AWS can be divided into the following five steps:
Phase 1: Migration Preparation and Business Planning
- Current Status Assessment: Communicate with customer key personnel to understand system deployment status, existing problems or deficiencies
- User Objectives: Business development requirements, what problems users hope to solve through migration, and what benefits?
- Gap Analysis: What are the differences between goals and current state?
- Develop Action Plan
Phase 2: Portfolio Discovery and Planning
When handling a major project, the most challenging part is deciding where to start.
Step 1: Survey Current Infrastructure
- Collect performance, usage, and deployment information of customer's current infrastructure for recording.
- Understand business application priorities and inter-system dependencies
- List application infrastructure inventory
Step 2: Determine First Wave Migration Applications
Recommended applications for first wave migration:
- Applications with the fewest dependencies on other business applications.
- Start with applications that have the most over-provisioned or idle resources.
Step 3: Determine Migration Strategy
Commonly used strategies in practice include:
- Rehost. This approach allows keeping the application as-is and making any necessary adjustments when running on AWS.
- Replatform. Achieve greater benefits by choosing managed databases or migrating applications to fully managed platforms like AWS Elastic Beanstalk.
- Partial Refactoring. Some aspects of the application can remain as-is, but other parts may need to be rebuilt to run properly on AWS.
- Full Refactoring. Rebuilding the application is the most time-consuming approach, but it also represents the greatest opportunity to leverage AWS cloud flexibility and availability.
Step 4: Team Building, Determine Comprehensive Business Plan
After forming the migration team, project managers from both parties will plan the subsequent migration together, create budgets, and after plans and budgets are approved, both parties sign contracts to begin formal migration work.
Phase 3: Migration Design
In this phase, the project team's architects will help users design the following based on their business situation:
- Overall Architecture Design
- System Reliability Design
- System Security Design
- Post-Cloud Operations Management Design
- Cost Design
Phase 4: Migration and Validation
Ideally, the process follows this pattern:
- Implementation engineers build approved architecture in AWS CloudFormation
- Use AWS-provided Machine Images (AMI) and further configure each application using automation configuration management tools like Puppet or Chef
- Servers, databases, and data migrate to AWS
- Cloud engineers begin initial testing process
- Other teams test and validate application performance, security, compliance, etc.
Phase 5: Operations and Optimization
Although many key elements for cost-effective migration were determined during the migration process, the key to long-term success on the AWS platform is continuous optimization.
Reference: AWS Migration Whitepaper