第 3 阶段:基于 Wave 的实现 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

第 3 阶段:基于 Wave 的实现

基于波浪的实施阶段侧重于选择 AWS 微服务来取代传统系统的特定功能,然后分批实现这些服务。以下建议可以帮助您确定先对哪些功能进行现代化改造的优先顺序,然后逐步将更改部署到生产中。

重要

在实施以下任何浪潮小组之前,请务必咨询主要利益相关者并获得其批准。建议在创建这些组时使用迭代方法,而不是仅仅依赖能力矩阵的评分标准。

重点关注领域

  • 根据依赖项数量、业务优先级和复杂程度,使用一系列优先级标准将功能分为三个实施阶段

  • 选择可提供与传统 IT 系统相同功能的云原生 AWS 微服务

  • 配置设置所选 AWS 微服务所需的基础 AWS 基础设施

  • 一波又一波地逐步推出生产变更

第 1 步:根据依赖项数量、业务优先级和复杂程度来组织权能

使用关键利益相关者的意见以及能力矩阵中的加权分数,将遗留系统的能力分为以下三个主要组:

注意

大多数实现还需要使用许多子波组。本指南仅出于示例目的概述了三个主要波浪组。

第 1 波能力

依赖项数量

无或非常低

业务优先级

复杂性

 

第 2 波功能

依赖项数量

从低到中

业务优先级

从低到中

复杂性

 

第 3 波能力

依赖项数量

业务优先级

中到高

复杂性

中到高

第 2 步:选择 AWS 微服务以取代传统 IT 系统的功能

与主要利益相关者协调,使用迭代流程来审查并最终确定要实现现代化的功能顺序。然后,选择 AWS 微服务来取代传统 IT 系统的功能。

以下是 AWS 微服务的一些示例,这些微服务通常可用于替换属于每个浪潮组的功能:

第 1 波 AWS 微服务示例

  • AWS Lambda

  • Amazon Simple Queue Service(Amazon SQS)

  • Amazon Simple Notification Service (Amazon SNS)

  • Amazon API Gateway

注意

通过使用扼杀迁移模式,可以将 Wave 1 功能与最少的 AWS 基础服务集成。有关更多信息,请参阅 AWS 博客上的使用扼杀模式无缝迁移本地传统工作负载

第 2 波 AWS 微服务示例

  • 基于 AWS Step Functions 的工作流程

  • 适合用途的数据库(迁移到 Aurora PostgreSQL)

  • AWS SaaS 工厂

注意

第 2 波功能通常涉及一定程度的数据库现代化,例如迁移到兼容 PostgreSQL 的数据库。要维护混合云解决方案,通常还需要将旧数据库与新的云原生数据库同步。

第 3 波 AWS 微服务示例

  • AWS Fargate

  • 实时推荐引擎,例如亚马逊 Textract、Amazon Comprehend、Amazon Rekognition 和亚马逊模型 SageMaker

  • 可扩展的数据湖,例如亚马逊简单存储服务 (Amazon S3) Service 和 AWS Lake Formation

  • 专门构建的亚马逊分析服务,例如亚马逊 Athena、亚马逊 EMR、亚马逊 OpenSearch 服务、亚马逊 Kinesis 和亚马逊 Redshift

  • 无缝数据移动服务,例如 AWS Glue 和 AWS App Mesh

注意

Wave 3 功能通常具有大量依赖关系,通常需要与其他微服务集成。这些属性使得 Wave 3 功能很适合被基于容器的微服务所取代。

步骤 3:配置设置所选 AWS 微服务所需的基础 AWS 基础设施

与主要利益相关者一起审查并最终确定基于云的目标架构后,配置设置所选的 AWS 微服务所需的 AWS 基础设施。

基础 AWS 基础设施资源示例

第 4 步:在波浪中实现更改

在测试环境中按顺序实现每个波组。当每个波组准备好投入生产时,请测试系统的功能并调试测试环境中的所有问题。然后,逐步切断对生产环境的更改。

以下是对通常与实现每个波浪组相关的任务类型的高级描述:

第 1 波实现

  • 创建无服务器 Lambda 函数

  • 将 Lambda 函数与 API Gateway 服务集成

  • 使用 Amazon Cognito、IAM、Okta 和 Ping Identity 等工具配置身份验证和授权系统

  • 对于混合云架构,请使用服务网格(例如 AWS App Mes h)设置代理层。

第 2 波实现

  • 配置 AWS App Mesh,包括您的服务网格、虚拟服务、节点、路由和代理

  • 在 AWS Fargate 或亚马逊 Elastic Kubernetes Service(亚马逊 EKS)中设置容器

  • 将代理层与前端系统集成

第 3 波实现

  • 完成复杂的数据迁移和集成

  • 实施涉及多个微服务的最复杂的工作流程