你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
新式应用程序平台的计划
云采用框架的计划方法有助于创建总体云采用计划,以指导基于云的数字化转型所涉及的计划和团队。 本指南提供的模板用于创建积压工作和计划,以便在团队中构建所需的技能,所有这些都基于你在云中要执行的操作。
应用计划方法侧重于合理化你的数字资产的五个 R。 云的最常见途径重点在于迁移和现代化过程的速度、效率和可重复性。 五个 R 中,规划通常优先考虑 rehost (重新托管)选项,对 rearchitect (重新架构)和 rebuild (重建)选项的平行支持有限。
数字资产
规划数字资产时,你需要收集清单数据并合理化你的资产。 在容器采用计划中,至关重要的是所有资产(例如 VM、数据和应用程序)都按所支持的工作负载进行分组。 完成分组和基本合理化后,可以评估这些工作负载,以确定打包和重新托管或重新架构选项。
标准的云采用计划模板用于满足通常的云采用工作所需的工作类型。 但需要将任务添加到计划中,以便将工作负载打包到容器预配的容器和业务流程中。
注意
本文假设读者已遵循在 Azure DevOps 中构建云采用计划系列文章中所述的最佳实践。 如果正在电子表格或其他项目跟踪工具中跟踪云采用计划,则以下部分仍适用,但需要调整向计划中添加数据的可操作步骤。
警告
将新式应用程序平台策略合并到标准迁移过程(或迁移工厂),需要在迁移前成熟地实现与设计工作负载体系结构相关的任务。 继续此策略时,如果不执行这些任务,将会延迟迁移工作,并可能导致部署的容器主机和支持工作负载的体系结构决策不佳。
标识候选工作负载
在新式应用程序平台方案中,需要更多前期投资的长期回报优先于有效迁移过程。 长期投资体现在计划的具体部分,即更加注重为特定的工作负载组启用创新和简化操作。
若要开始协调策略和计划,请确定任何可能会因为在云采用策略中添加新式应用程序平台而受到影响的工作负载。 在实施任何技术更改之前,会验证这些假设。 若要帮助确定潜在候选项,请在工作负载组合中查找以下条件:
- “正在开发或 DevOps 投资:”一定比例的生产工作负载将处于正在开发状态。 有些甚至可以通过持续的 DevOps 实践来托管。
- “工作负载可移植性:”某些工作负载受合规性、数据保护或操作约束的影响,这些约束可能需要跨私有云、边缘甚至多个公有云提供商的可移植性。
- “工作负载合并:”许多工作负载(尤其是低利用率工作负载)可能适合在容器主机上进行合并,减少服务器或 VM 数量,降低运营成本。
- “旧工作负载:”旧工作负载可以阻止操作系统的更新,甚至阻止迁移到云。 与 Azure 功能不兼容的旧工作负载可能适合迁移到容器主机上。
记录候选工作负载
注意
以下注意事项列表应仅记录在上述条件所标识的迁移候选项。
构建云采用计划时,每个工作负载都按照定义和设置工作负载优先级中的指导进行记录。 适用于新式应用程序平台方案的任何工作负载都需要额外信息来指导计划的执行。 本文重点介绍了记录业务和技术输入以定义工作负载的重要性。 对于新式应用程序平台候选项,应将以下数据点添加到工作负载的定义。
业务输入
下面是业务相关的数据点,这些数据点可能会影响将工作负载纳入新式应用程序平台策略的决策。
- “合规性驱动:”哪些特定的合规性标准是促使在私有云中托管该工作负载的驱动因素?
- “数据保护驱动:”哪些数据保护措施是促使在私有云中托管该工作负载的驱动因素?
- “操作约束:”哪些操作约束是促使在私有云中托管该工作负载的驱动因素?
- “新式应用程序平台结果:”以下哪一项是将此工作负载评估为容器候选项的驱动因素? DevOps、可迁移性、合并、旧或多个驱动因素。
- “操作模型:”该工作负载是(由中心 IT/CCoE) 集中托管、(由工作负载团队)非集中托管,还是(由中心支持和特定工作负载运营)企业运营托管?
技术输入
以下是技术团队中的数据点,该团队可能会影响将工作负载纳入新式应用程序平台策略的决策。
“位置注意事项:”
与工作负载的托管位置相关的注意事项。
- “公有云托管要求:”是否有与公有云要求相关的特定技术约束?
- “私有云托管要求:”是否有与私有云要求相关的特定技术约束?
- “边缘托管要求:”是否有与边缘要求相关的特定技术约束?
- “可迁移性要求:”是否有与云可迁移性要求相关的特定技术约束?
“操作注意事项:”
与平台、主机和工作负载的操作相关的注意事项。
- “主要云平台:”组织应定义一个主要云平台以提供操作管理工具。 某些组织可能有多个主要云平台来管理各种类型的操作。 运行此工作负载的主要云平台是什么?
- “其他操作平台:”此工作负载是否还由任何其他操作平台管理?
- “云托管要求:”此工作负载是否需要特定的云托管策略? 公有云、私有云或云可迁移性
- “标准化的业务流程平台:”如果公司为容器业务流程提供了标准解决方案,则包括要考虑的标准化平台的名称。 示例:Azure Kubernetes 服务 (AKS) 、AKS 引擎或 Kubernetes。
- “自定义业务流程注意事项:”是否要求非标准的容器业务流程平台? 如果是这样,则说明该要求。
- “标准化主机操作:”假设工作负载是非恶意的,并且可以托管在标准化主机操作支持的共享容器上。 此工作负载与此方法是否兼容?
- “自定义主机操作注意事项:”如果工作负载与标准化操作不兼容,则在建立此工作负载的主机操作做法时,应考虑哪些特定要求?
“应用程序注意事项:”
有关如何开发应用程序且未来将如何开发的注意事项。
- “平台即服务 (PaaS) 运行时:”公有云提供商生成一致的应用程序运行时,通常称为平台即服务 (PaaS) 产品/服务。 在 Azure 中,由 Azure 应用服务提供 PaaS 运行时。 此应用程序是否可以在 PaaS 运行时上运行? 哪个运行时最兼容?
- “标准化运行时:”如果应用程序与 PaaS 运行时不兼容,则组织是否提供标准运行时? 此工作负载将在哪个运行时生成?
- “自定义运行时注意事项:”哪些特定注意事项需要为此工作负载定制自定义运行时?
- “运行时约束:”所选运行时是否对应用程序施加了任何约束?
- “应用程序依赖关系:”此工作负载是否依赖于位于特定位置(如公有或私有)的任何现有系统? 示例包括一个 ERP 系统,如在特定解决方案中运行的 SAP。
- “数据重心:”此工作负载是否依赖于位于特定位置(如公有或私有)的数据源? 示例可以包括 SAP 或其他集中式数据源中的数据的依赖项。
- “已批准列表注意事项:”是否批准在云平台中使用自定义操作注意事项? 部署中必须包含哪些批准的服务?
初始容器注意事项
在容器中打包工作负载是需要计划和处理的第一个工作。 第二个是计划这些容器的宿主。
适用于标准化运行时、业务流程和操作的 PaaS 解决方案
某些工作负载是高度独立的,并且不一定会受益于大平台(如 Kubernetes)附带的高级控制和基础结构要求。 这是因为工作负载是容器化的,但并不意味着必须将其部署到 Kubernetes。 Azure 提供多种解决方案,用于在你的项目组合中运行工作负载,不需要 AKS 所需的管理和基础结构级别。 以下解决方案都遵循此方法来规划:
请考虑为容器使用更轻量的解决方案,使其工作负载不会增加复杂性,并与这些解决方案的用途和限制相一致。
通过公有云中的自定义运行时和操作实现标准化的业务流程
对于那些无法在完全托管的 PaaS 平台中运行并且必须中继基础结构级控制的工作负载,想要使用诸如容器业务流程协调程序提供的高级部署功能,或希望增加模块化复杂性,请转到 Azure Kubernetes 服务 (AKS)。 AKS 可解决容器托管问题,还提供广泛的体系结构、SRE、安全性、部署、监视和基础结构选项。
该平台的功能集要求在群集操作员级别和工作负载级别了解该平台。 将操作团队、体系结构团队和工作负载工程团队的培训纳入迁移时间表。 此外,由于 AKS 是一个平台,因此,确保工作负载团队了解此平台与当前托管排列的职责分离。 它在某些方面可能类似,但在其他方面可能会很新奇。
公有云中的自定义业务流程、运行时和操作
对于非常专业的工作负载或特定的组织要求,Azure 在容器业务流程空间中提供了另外两个主要平台。
- Azure Red Hat OpenShift
- Azure Service Fabric
如果有理由了解备选方案,请确保分配时间来了解所有平台选项的优缺点。 Azure 的默认解决方案是 AKS,本文假设 AKS 就是是所选技术。
跨云平台标准化操作
通常,客户会在私有云、边缘和公有云环境中部署不同的容器业务流程协调程序。 若要在这些不同的云平台上标准化操作,客户可以通过将其云操作工具扩展到多个云平台,来合并统一的操作方法。
在 Azure 中,组织可以通过将不同的容器主机载入 Azure Arc for Kubernetes,跨各种业务流程协调程序对操作进行标准化。 此工具可确保跨每个容器主机进行一致性监视、操作和管理。
私有云和边缘环境中的应用程序运行时
当工作负载必须在私有云和边缘环境中运行时,如果工作负载是最受 PaaS 运行时支持的,则有几个工具可让开发人员使用 Azure 应用服务在一致的 PaaS 运行时上构建:
- “Azure Stack HCI:”允许在 Azure Stack 本地托管 Azure 应用服务,由 Azure Stack 操作员管理。
- “Azure Stack HCI for AKS:”允许在 Azure Stack 内托管 AKS 中运行的自定义运行时,由 Azure Stack 和 AKS 操作员管理,以允许与其他 Kubernetes 解决方案实现可迁移性。
- “带有 Azure Arc 的 Kubernetes 上的 Azure 应用服务:”允许任何 Kubernetes 主机在 Azure 中提供应用程序服务。 所有主机都成为 Azure 应用服务的小实例。 由于每个主机还载入到 Azure Arc,因此也可以通过一致的基于云的主机操作来管理这些主机。
新式应用程序平台就绪计划
除了云采用 skilling 计划以外,云采用团队可能还需要在执行计划之前开发与容器和 Kubernetes 相关的技能:
确保为工作负载团队分配时间以记录和模拟迁移计划。 可能需要对现有的应用程序或外部系统(依赖于此工作负载的依赖项和系统)进行修改,从而增加其灵活性以支持迁移工作。 这适用于预生产环境和生产环境。
下一步:查看你的环境或 Azure 登陆区域
以下文章列表将在云采用旅程中的特定阶段为你提供指导,帮助你在云采用方案中取得成功。