本文档可帮助您规划、设计和实现将工作负载迁移到 Google Cloud 的过程。将应用从一个环境迁移到另一个环境极具挑战性,即使对经验丰富的团队而言也是如此,所以您在规划和执行迁移时需小心谨慎。
本文档是关于迁移到 Google Cloud 的以下系列文章中的一篇:
- 迁移到 Google Cloud:使用入门(本文档)
- 迁移到 Google Cloud:评估和发现您的工作负载
- 迁移到 Google Cloud:规划和构建您的基础
- 迁移到 Google Cloud:转移您的大型数据集
- 迁移到 Google Cloud:部署您的工作负载
- 迁移到 Google Cloud:从手动部署迁移到自动容器化部署
- 迁移到 Google Cloud:优化您的环境
- 迁移到 Google Cloud:验证迁移计划的最佳实践
- 迁移到 Google Cloud:最大限度地降低费用
如果您计划从本地环境、私有托管环境或其他云提供商迁移到 Google Cloud,或者您要评估迁移机会并希望了解其具体操作,那么本文档非常有用。
开始迁移之旅
在计划迁移到 Google Cloud 时,首先要定义迁移过程中涉及的环境。起点可以是本地环境、私有托管环境,也可以是其他公有云环境。
在本地环境中,您拥有完全所有权且由您全权负责。冷却、物理安全和硬件维护等环境的各个方面均由您完全控制。
在对接网点等私有托管环境中,您将部分物理基础架构及其管理外包给外部方。此类基础架构通常在客户之间共享。在私有托管环境中,您无需管理物理安全服务。某些托管环境可让您管理部分物理硬件,例如服务器、机架和网络设备,而其他托管环境则代为管理这些硬件。通常,电源和网络布线以服务的形式提供,因此您无需管理它们。用来虚拟化物理资源的管理程序、您预配的虚拟化基础架构以及您在此类基础架构上运行的工作负载完全由您控制。
公有云环境的优势在于,整个资源栈都无需您自行管理。您可以专注于堆栈中对您而言最有价值的方面。 与在私有托管环境中类似,您不必管理底层物理基础架构。此外,您也不必管理资源虚拟化管理程序。您可以构建虚拟化基础架构,并在这个新的基础架构中部署工作负载。您还可以购买全托管式服务;在这些服务中,您只需关心工作负载,从管理运行时环境的繁重任务中解放出来。
对于每种环境,本文档都将评估下述方面并对提供和管理相关服务的人员进行评估:
资源 | 本地环境 | 私有托管环境 | 公有云环境 |
---|---|---|---|
物理安全 | 您自己 | 服务提供商 | 服务提供商 |
电源和网络布线 | 您自己 | 服务提供商 | 服务提供商 |
硬件(包括维护) | 您自己 | 由服务提供商而定 | 服务提供商 |
虚拟化平台 | 您自己 | 您自己 | 服务提供商 |
应用资源 | 您自己 | 您自己 | 您自己(最终利用全托管式服务) |
在本文档中,目标环境为 Google Cloud。
在定义起始和目标环境之后,可定义迁移所涉及的工作负载类型和相关操作流程。 本文考虑了传统和云优化型这两种类型的工作负载和操作。
开发旧版工作负载和操作时未考虑云环境。这些工作负载和操作通常不支持任何类型的可伸缩性,因此它们可能难以修改且运行和维护成本高昂。
云优化型工作负载和操作具有原生可伸缩性、可移植性、可用性和安全性。借助这些工作负载和操作,开发者可以专注于实际工作负载,而不是花费精力来管理开发和运行时环境,或者处理手动和繁琐的部署过程,从而提高其工作效率和敏捷性。Google Cloud 还提供安全责任共担模型。Google Cloud 负责物理安全性和基础架构的安全性,而您负责部署到基础架构的工作负载的安全性。
考虑这些环境和工作负载类型,您的初始情况将是下列之一:
- 使用旧版工作负载和操作的本地或私有托管环境。
- 使用云优化型工作负载和操作的本地或私有托管环境。
- 使用旧版工作负载和操作的公有云或私有托管环境。
- 使用云优化型工作负载和操作的公有云或私有托管环境。
迁移过程取决于您的起点。
如果将工作负载从旧版本地环境或私有托管环境迁移到云优化型环境(例如公有云),则可能极具挑战性且存在风险。成功迁移会在迁移操作期间尽可能少地更改要迁移的工作负载。将旧版本地应用迁移到云通常需要多个迁移步骤。
迁移类型
本文档定义了以下主要的迁移类型:
- 更换主机 (rehost):直接原样迁移
- 更换平台 (replatform):迁移并优化
- 重构 (refactor):迁移并改进
- 重新设计架构 (Re-architect):继续进行现代化改造
- 重建:移除并替换,有时称为“淘汰并替换”
- 重新购买
在以下各部分中,对每种类型的迁移进行了定义,并提供了示例讲解何时使用每种类型。
更换主机 (rehost):直接原样迁移
在重新托管迁移中,只需进行少量或不进行修改或重构,即可将工作负载从源环境移动到目标环境。应用于要迁移的工作负载的修改只是让这些工作负载在目标环境中运行而所需的最小更改。
如果工作负载可在目标环境中按原样运行,或者完全没有或几乎没有更改工作负载的业务需求,那么重新托管迁移是理想的选择。由于重构量最小,因此此类迁移所耗时间最少。
可能存在技术问题迫使进行重新托管迁移。如果无法重构要迁移的工作负载且无法停用该工作负载,则必须进行重新托管迁移。例如,可能很难或没法修改工作负载的源代码,或者构建过程不易执行,因此重构源代码之后可能没法生成新工件。
重新托管迁移是最容易执行的,因为您的团队可以继续使用他们之前使用过的一套工具和技能。这些迁移也支持现成的软件。由于只需进行最低限度的重构即可迁移现有工作负载,因此与重构或重建迁移相比,重新托管迁移往往是最快的。
但是,重新托管迁移后,在目标环境中运行的工作负载不会针对云进行优化。这些工作负载没有充分利用云平台功能(例如横向可伸缩性、精细的价格和高度托管式服务)。
更换平台 (replatform):迁移并优化
在更换平台迁移中,您可以提升现有工作负载,然后针对新的云环境优化这些工作负载。
更换平台迁移最适合希望利用云的所有核心能力的组织。这些能力包括弹性计算、冗余、改进的性能和安全性。
例如,您可以将工作负载平台更换为云,以利用 Google Kubernetes Engine 中基于云的微服务架构或容器。这些工作负载在云运行时将具有更高的性能和效率。
然而,与重新托管迁移相比,更换平台迁移需要更多的工作来完成。新的云平台将具有不同的底层代码库,这需要多轮测试以确保一切都以最佳级别运行。
重构 (refactor):迁移并改进
在重构迁移中,您可以修改工作负载以利用云功能,而不仅仅是修改工作负载以使其在新环境中工作。您可以针对性能、功能、费用和用户体验来改进每个工作负载。
您可以在将工作负载迁移到云端时修改工作负载,甚至可以在迁移之前修改工作负载。例如,如果您没有丰富的云迁移经验,您可能希望在迁移时修改工作负载。但是,如果您有云迁移经验,您可能已经了解工作负载需要进行哪些修改才能充分利用云功能。
如果目标环境中不按原样支持应用的当前架构或基础架构,则需要一定量的重构来克服这些限制。
选择重构方法的另一个原因是,有时除了进行迁移所需的更新外,还需要对工作负载进行重大更新。
重构迁移可让您的应用利用云平台的功能,例如可伸缩性和高可用性。您还能设计改进来提高应用的可移植性。
但是,重构迁移所需的时间比重新托管迁移的时间长,因为必须重构工作负载才能迁移应用。
重构迁移还需要您掌握新的技能。
重新设计架构 (Re-architect):继续进行现代化改造
重新设计架构迁移类似于重构迁移。但是,重新设计架构不是更改工作负载代码的运行方式,而是更改代码的运行方式。这些代码更改可优化工作负载并利用云优化属性,例如可伸缩性、安全性和敏捷性。例如,重新设计架构迁移可以接受一个大型单体式工作负载,并将其转换为您在 Google Cloud 上部署的多个独立微服务。
重新设计架构比重构迁移更复杂,因此需要更多时间和精力。重新设计架构迁移也可能会向新工作负载中引入错误或安全问题。因此,重新设计架构迁移需要进行多轮测试,以确保一切都以最佳状态运行。
重建:移除和替换
在重建迁移中,您将停用现有应用,完全重新设计并将其重写为完全云优化的应用。
如果当前应用没法实现您的目标,例如您不想继续维护该应用,使用上述方法进行迁移的费用太高,或者 Google Cloud 不支持该应用,就可执行重建迁移。
借助重建迁移,您的应用能够充分利用横向可伸缩性、高度代管式服务和高可用性等 Google Cloud 功能。因为您从头开始重写该应用,所以也消除了现有旧版应用的技术债务。
但是,重建迁移可能需要比重新托管或重构迁移更长的时间。此外,由于需要重写应用,所以此类迁移不适合现成的应用。您需要将重新设计和重写应用所耗的额外时间和精力都评估计入应用生命周期的一部分。
重建迁移还需要新技能。您需要使用新的工具链来预配和配置新环境,并在该环境中部署应用。
重新购买
重新购买迁移是指您从购买的本地工作负载迁移到云托管的软件即服务 (SaaS) 等效项。例如,您可以从本地协作软件和本地存储迁移到 Google Workspace。
从资源的角度来看,重新购买迁移可能比重构、重建或重新设计架构容易得多。但是,重新购买迁移的费用可能会更高,并且您可能无法获得控制自己的云环境的精细功能。
Google Cloud 采用框架
开始迁移之前,您应评估您的组织在云技术采用方面的成熟度。Google Cloud 采用框架既可用来确定您的企业的信息技术能力当前处于哪个阶段,也可用来指导您实现目标。
您可以使用此框架来评估贵组织对使用 Google Cloud 的准备情况,以及您需要采取哪些措施来弥补这些差距并培养新技能,如下图所示。
该框架评估下列四大主题:
- 学习。学习计划的质量和规模。
- 领导。领导团队就迁移到 Google Cloud 的授权对 IT 部门的支持程度。
- 扩缩。您使用云优化服务的程度,以及您已实施的运维自动化的程度。
- 安全。保护您的当前环境免遭未经授权和不当访问侵害的能力。
根据框架,您在每个主题中应处于下列三个阶段之一:
- 战术。尚无一致的计划能涵盖您目前所有单独的工作负载。您最感兴趣的是快速获得投资回报并使您的 IT 组织几乎不受干扰。
- 战略。已有计划开发单个工作负载,同时着眼于未来的扩缩需求。您感兴趣的是中期目标,即简化操作,使其比当前更高效。
- 转型。云操作运行顺畅,您使用从运行过程中收集到的数据来改进您的 IT 业务。您注重长期目标,试图将 IT 部门打造成组织中的创新引擎之一。
根据这三个阶段评估上面四个主题时,会得到云成熟度量表。在每个主题中,您都能看到从在需要时采用新技术转为在整个组织中更有战略性地运用这些技术时会发生什么情况 - 这一转型意味着为您的团队提供更深入、更全面、更一致的培训。
迁移路径
请务必记住迁移是一段旅程。您与您的现有基础架构和环境位于 A 点,并希望到达 B 点。为了从 A 到 B,您可以选择上述任何选项。
下图说明了此旅程的路径。
迁移包含 4 个阶段:
- 评估。在此阶段,您将对现有环境进行全面评估和发现,以便了解应用和环境库存、确定应用依赖项和需求、计算总拥有成本并建立应用性能基准。 如需详细了解评估阶段,请参阅迁移到 Google Cloud:评估和发现您的工作负载、迁移到 Google Cloud:最佳实践和迁移中心:启动资产发现。
- 规划。在此阶段,您将为工作负载创建基本的云基础架构,并规划移动应用的方式。该项规划包括身份管理、组织和项目结构、网络连接、应用排序和优先迁移战略的制定。 如需详细了解如何规划和构建基础,请参阅迁移到 Google Cloud:规划和构建基础。
- 部署。在此阶段,您将设计、实现和执行将工作负载迁移到 Google Cloud 的部署过程。您可能还需要优化云基础设施来满足新的需求。如需详细了解如何将工作负载部署到 Google Cloud 以及如何将数据迁移到 Google Cloud,请参阅迁移到 Google Cloud:部署您的工作负载、迁移到 Google Cloud:从手动部署迁移到自动容器化部署和迁移到 Google Cloud:转移您的大型数据集。
- 优化。在此阶段,您将开始充分利用云优化技术和功能,以扩展业务在性能、可伸缩性、灾难恢复、费用和培训等方面的潜力,并为应用打开机器学习和人工智能集成的大门。如需详细了解如何优化您的环境,请参阅迁移到 Google Cloud:优化您的环境。 如需详细了解费用,请参阅迁移到 Google Cloud:最大限度地降低费用。
寻求帮助
Google Cloud 提供了各种选项和资源,方便您获取必要的帮助和支持,以充分利用 Google Cloud 服务。
自助式资源
如果您不需要专属支持,可使用以下自助资源:
- 产品文档。Google Cloud 为其每个产品和服务提供了文档,还提供有 API 文档。
- Architecture Center 文档。架构中心的迁移部分介绍了许多迁移场景。例如,迁移资源提供了有关 Google Cloud 迁移之旅的指导。
- 工具。Google Cloud 提供了多种产品和服务来帮助迁移。例如:
- Google Cloud Migration Center 是一个统一平台,可帮助您加快从当前本地环境或云环境迁移到 Google Cloud 的端到端云之旅速度。
- Migrate to Virtual Machines 是一款将物理服务器和虚拟机从本地环境和云环境迁移到 Google Cloud 的产品。Migrate to VMs 使您可以在几分钟内即可将虚拟机迁移到 Google Cloud,数据在后台复制,但虚拟机可以完全正常运行。
- 借助 Storage Transfer Service,您可以将数据从其他云服务提供商、在线资源或本地数据传输到 Cloud Storage。
- Database Migration Service 是一款可帮助您将数据库迁移到 Google Cloud 的产品。
- Transfer Appliance 是一种硬件设备,可用于将大量数据(从数百 TB 到 1 PB)迁移到 Google Cloud,而不中断业务操作。
- BigQuery Migration Service 是用于将数据仓库迁移到 BigQuery 的综合性解决方案。
- 白皮书。 这些白皮书包括参考架构、案例研究、最佳做法和高级教程。
- 媒体内容。您可以收听 Google Cloud 播客或在 Google Cloud YouTube 频道上观看任何视频。这些资源涵盖了从产品说明到开发策略等众多主题。
- 在线课程和实验。Google Cloud 开设了多门 Coursera 课程,其中包括视频内容、阅读材料和实验。您还可以通过 Google Cloud Skills Boost 进行实验或参加直播在线课程。
技术合作伙伴
Google Cloud 已与多家公司合作,让您能够使用他们的产品。有些产品可能是免费提供的,因此请咨询相关公司和您的 Google Cloud 客户经理。
系统集成商
Google Cloud 合作伙伴不仅包括产品和技术公司,还包括可以提供直接操作帮助的系统集成商。在合作伙伴列表中,您可以找到专门从事云迁移的系统集成商列表。
Google Cloud 专业服务
我们的专业服务团队随时恭候,帮助您充分利用在 Google Cloud 中的投资。
Cloud Plan and Foundations:获取迁移方面的帮助
专业服务为您提供帮助,使用我们的 Cloud Plan and Foundations 产品进行迁移规划并在生产环境中部署工作负载。从建立 Google Cloud 基础,到针对您独特的工作负载需求进行平台优化以及部署工作负载,这些专家在将工作负载迁移到生产环境的各个阶段为您的团队提供指导。
Cloud Plan and Foundations 的目标是:
- 建立 Google Cloud 基础。
- 创建设计文档。
- 规划部署和迁移活动。
- 将工作负载部署到生产环境中。
- 跟踪问题和风险。
专业服务专家将指导您的团队完成以下活动和可交付成果:
- 举办技术启动研讨会。
- 构建技术设计文档。
- 制定迁移计划。
- 制定程序章程。
- 提供项目管理。
- 提供技术专业知识。
Cloud Sprint:加快向 Google Cloud 的迁移
Cloud Sprint 是一个强化的研讨会,可加快应用向 Google Cloud 的迁移。在此研讨会中,Google Cloud 专业服务专家通过互动讨论、白板会议和审核要迁移到 Google Cloud 的目标应用,为您的一个团队提供指导。在 Cloud Sprint 期间,专业服务专家会与您的团队成员协作,让他们通过所需的部署活动获得云解决方案的第一手经验,帮助您了解未来 Google Cloud 迁移的后续步骤。
培训:培养团队的技能
Google Cloud 专业服务可根据团队的需要,提供相关的实践培训。
后续步骤
- 通过评估和发现您的环境,开始向 Google Cloud 迁移。
- 探索有关 Google Cloud 的参考架构、图表和最佳实践。查看我们的 Cloud 架构中心。