云迁移:好处、挑战和策略
加快应用程序和流程向云的迁移是企业获得敏捷性和灵活性的关键,企业需要这些敏捷性和灵活性来抵消不断上升的成本,并应对可能出现的衰退。然而,云采用和迁移并不是放之四海而皆准的。业务案例依赖于成本节约和交付软件更新的速度,以及通过统一的交付DevOps的平台.

如果您还没有将工作负载迁移到云的计划,那么现在是时候开始开发它们了。云迁移是IT现代化的明显趋势,避免云计算意味着错过各种潜在的好处,例如更大的灵活性、更低的成本和更高的工作负载可靠性。
本文介绍了计划和执行云迁移策略所需的步骤,而无需考虑所有的复杂性。它解释了什么是云迁移、迁移到云的好处和挑战,以及实现适合您业务需求的云迁移的不同方法。
您将了解到,没有通用的云迁移方法。相反,选择正确的云迁移策略需要仔细考虑工作负载的需求,以及如何最好地将这些工作负载迁移到云环境中。
什么是云迁移?
云迁移是将工作负载从本地环境迁移到云的过程。换句话说,云迁移意味着将当前运行在本地服务器或托管在托管设施中的服务器上的工作负载转移到云环境中,以便它们可以在那里运行。在云迁移的上下文中,工作负载可能涉及应用程序、数据或两者。
您迁移到的云环境或架构的类型也可以采取多种形式,包括:
- 单一公共云,意味着你的工作负载只在一个公共云平台上运行(如亚马逊网络服务、微软Azure或谷歌云平台)。
- 多个公共云,意味着您可以同时使用多个公共云。这叫做多重云架构.
- 私有云,这是您使用自己的基础设施自己构建和管理的云环境。
- 混合云,它将公共云基础设施和/或服务与您自己拥有和管理的基础设施相结合。

来源://www.si-fil.com/blog/cloud-is-not-a-binary-decision/
云迁移的好处
对于许多工作负载,与继续在本地运行相比,迁移到云提供了各种好处。
可扩展性和灵活性
在云中,更容易增加分配给工作负载的基础设施资源,或者在工作负载不再需要那么多基础设施时缩减它们。2022世界杯阿根廷预选赛赛程这是因为,在云中,你可以按需即时添加或删除基础设施。
您不能在内部部署中这样做,因为扩展或缩小基础设施需要物理地添加或删除服务器。
成本效率
虽然云迁移不能保证降低成本,但云可以通过消除支付和维护物理基础设施的需要来减少总体IT支出。云还提供了与成本相关的好处,允许您“随用随付”,而不必花费大量资本支出来获得自己的托管基础设施。
可扩展性和微服务
云环境可以很容易地同时利用多种类型的服务——比如虚拟机实例、容器化应用程序服务、无服务器功能、数据库和对象存储。您可以简单地将工作负载部署到所需的任何云服务,所需的配置或部署工作最少。这些微服务允许企业专注于开发和部署应用程序,而不必担心从基础到可扩展性和自定义的依赖关系。
在本地环境中,您必须从头开始构建不同类型的服务,然后配置和维护它们,这将需要更多的工作。这种整体类型的体系结构适用于设计为在一个系统中处理的单个单元,该系统通常最适合用于较小的应用程序。如果它们太大太复杂,就会变得更加难以管理,因为即使是最小的更改也需要重新构建和重新部署整个系统。
可靠性和弹性
尽管即使是管理最好的公共云平台有时会经历停机总体而言,云基础设施往往比本地基础设施更可靠。您可能会遇到更少的工作负载中断,并且具有更高的可用性和正常运行时间。
此外,从云中的故障中恢复通常比在本地恢复工作负载更容易。在云中,如果主区域出现故障,您可以自动迁移到不同的云区域,甚至在必要时迁移到单独的云。由于您可以按需启动新的云基础设施,因此维护业务连续性要比您必须自己设置新的基础设施以从故障中恢复要简单得多。
云迁移挑战
尽管总体而言,云是运行工作负载的一种更具可伸缩性和灵活性的方式,但迁移到云并不是所有类型的工作负载的正确选择。在某些情况下,云迁移可能会带来以下挑战:
- 更高的成本您最终可能会在云上花费更多,特别是如果您的内部部署基础设施已经付费,或者如果您难以理解、计划和管理云计算成本。
- 高迁移率规划和实现云迁移可能需要时间,特别是如果迁移需要对工作负载进行重大更改。
- 新的运营挑战迁移到云需要设计新的流程,可能还需要部署新的工具来处理监控和安全等任务。
- 平台的依赖在某些情况下,迁移到云意味着依赖于某些类型的服务,例如那些与特定供应商的云平台绑定的服务。这可能导致IT策略灵活性的整体降低。
在大多数情况下,这些挑战不应该成为云迁移的障碍,但重要的是要确保将给定工作负载迁移到云的好处大于挑战。
云迁移计划
尽管您所遵循的特定云迁移过程将根据您的工作负载和要迁移到的云架构类型而有所不同,但执行云迁移的典型步骤包括以下步骤。
评估你的工作量
首先,确定要迁移到云的工作负载类型以及它们的需求。你需要确定:
- 您的环境中存在哪些应用程序
- 工作负载中存在哪些数据,以及数据存储的位置/方式
- 安全性和隐私要求是什么
- 工作负载需要哪些网络设置
制定云迁移计划
一旦了解了工作负载,就可以制定将其迁移到云的计划。有关不同迁移方法的详细信息,请参见下文。
移动应用程序
一旦您的工作负载准备好迁移到云,就可以通过迁移应用程序开始迁移处理。执行此操作的方式取决于应用程序的类型以及如何迁移到云上。例如,如果您的应用程序是运行在虚拟机上的单体,那么您可以使用虚拟机的映像将应用程序迁移到云中。
迁移数据
接下来,迁移属于云工作负载的任何数据。同样,迁移过程将取决于工作负载的具体情况。在某些情况下,例如将本地MySQL数据库迁移到基于云的MySQL服务中,迁移将非常简单。在其他情况下,例如将文件系统内的文件迁移到云对象存储桶,可能需要进行一些数据重构。
配置网络
使用云平台上的网络工具,为您的工作负载配置网络规则。例如,您可能需要定义VPC (Virtual Private Cloud),以便将工作负载与Internet隔离开来。
配置访问控制
最后但并非最不重要的一点是,确保定义满足工作负载安全性和隐私需求的访问控制。在大多数情况下,您将使用云提供商的身份和访问管理(Identity and access Management, IAM)框架设置访问控制规则。但可能需要其他访问控制;例如,在基于云的Kubernetes服务中,您还必须设置Kubernetes基于角色的访问控制规则。
三种云迁移策略
实现上述云迁移步骤的方式(特别是涉及选择云迁移计划的第2步)取决于哪种云迁移策略最适合您的工作负载。有三种主要的云迁移技术需要考虑。
1.,
提升和转移方法涉及将工作负载迁移到云中,只需进行最小的重新配置或更改。这是迁移到云的最简单的方法,但是只有当您的工作负载能够在云环境中高效运行而无需大修时,它才有效。
例如,如果您有一个在本地运行的虚拟机,您可以使用以下步骤将其迁移到AWS云:
- 使用管理程序的映像创建过程创建本地虚拟机的映像。将图像保存为文件。
- 在您的AWS帐户中创建S3存储桶。
- 将映像文件上传到S3存储桶。
- 使用如下命令将镜像导入AWS: AWS ec2 Import -image -description " My server VM " -disk-containers " /path/to/ Import .json "
导入。json文件指定图像在S3存储桶中的位置。详细信息请参见AWS的文档.
上传映像之后,您可以基于它创建一个AWS EC2实例。结果将是一个虚拟机,其中包含您在本地运行的相同应用程序和数据,但它现在将在云中运行。
2.Replatforming
重新平台是一种云迁移策略,类似于lift-and-shift。不同之处在于,当您重新搭建工作负载平台时,您需要对其进行一些更改,以便针对云对其进行优化,而不是简单地将其提升并转移到云中,而无需进行重大更改。
例如,假设您有一个本地VM,其中包括在同一台服务器上运行的应用程序和MySQL数据库。除了获取虚拟机映像并将其直接部署到AWS之外,您可能希望遵循以下步骤:
- 设置MySQL数据库在AWS RDS。
- 将数据从本地数据库迁移到新的AWS RDS数据库。
- 关闭本地数据库并将其从VM中删除。
- 获取VM的映像,并使用上述相同的方法将其导入AWS。
- 在AWS中配置必要的IAM和网络设置,以便VM和数据库可以相互连接。
通过这个过程,您可以将数据库从VM中分离出来,并且可以使用单独的AWS服务运行VM和数据库(具体来说,您可以将EC2用于VM,将RDS用于数据库)。这种方法可能会导致更有效的资源使用。它还可以使管理和备份应用程序和数据库变得更加容易,因为它可以将它们彼此分开。
3.重构
如果您的本地工作负载不能在云中高效运行,则应该使用重构迁移策略。重构意味着从本质上重新设计应用程序,以便更好地利用云资源。2022世界杯阿根廷预选赛赛程在许多情况下,重构涉及对源代码进行更改。
例如,如果你有一个内部部署的虚拟机,它承载了一个单片应用程序,你可能会选择通过以下方式将其迁移到云:
- 将应用程序分解为一组微服务。这很可能需要为应用程序重写至少部分源代码。
- 为每个微服务创建容器映像。
- 将容器映像部署到云容器注册中心,比如AWS ECR。
- 在云中设置一个Kubernetes集群,并将容器作为pod部署到其中。
- 配置必要的访问控制、网络和存储资源,使集群正常运行。2022世界杯阿根廷预选赛赛程
这种方法允许您完全消除VM,并将其替换为更灵活和可扩展的分布式应用程序。缺点是该策略需要大量的开发资源来执行,并且可能需要几个月的时间来完成将单体转变为一组容器化微服务所需的重构工作。2022世界杯阿根廷预选赛赛程
云迁移的多种方法
迁移到云的原因有很多,完成云迁移过程的方法也有很多。在决定是否首先进行迁移以及采用哪种迁移方法(提升-转移、重新搭建平台或重构)时,需要仔细评估您的工作负载,以及您有哪些资源可用于完成云迁移。2022世界杯阿根廷预选赛赛程
要了解迁移到云如何升级您的软件交付过程,今天预订演示.