企业希望他们的应用程序可以迁移,并且能够在多个云计算提供商的云服务之间轻松转换。而要做到这一点,企业必须制定一个良好的云迁移计划。
如今,人们已不再对是否在云平台中运行工作负载感到犹豫,云平台已成为许多企业的默认部署策略。多年前,IT团队必须证明创建云计算应用程序的必要性。如今,这种情况正好相反:IT团队必须证明为什么不在云平台中部署应用程序。
虽然企业有必要采用云计算,但这并不意味着迁移工作负载很容易。最重要的是,企业需要对供应商锁定持谨慎态度。云计算的承诺始终是能够在当前基础设施的传统约束之外进行部署。但实际上,一旦部署了云计算应用程序,大多数企业都不愿意改变提供商的选择。
一些云计算供应商(如微软Azure)开始提供本地私有云选项,这使企业的云迁移计划更加复杂,这些软件包可以更轻松地从公共云迁移到私有云,但这种体验远非无缝的。应用程序迁移可能更简单,但仍然耗时费力,并具有挑战性。
要使云计算应用程序可迁移,并在不同的云计算提供商的平台之间移动,企业必须牢记一些重要因素。根据调研机构Gartner公司的数据,到2022年,有28%的企业IT支出转向云计算,云计算决策仍然是一个关键问题。
需要慎重考虑云迁移计划
为了使云迁移计划得以实施,企业在设计云部署时应该考虑可迁移性。但这并不意味着一切都会很顺利。
企业在制定云迁移计划时,需要考虑以下事项:
(1)工作流程。企业需要了解应用程序的工作流程。如果输入或输出与在同一个云平台中运行的另一个应用程序或业务流程相关联,那么将业务迁移到另一个提供商的云服务中会出现问题,并且是不明智的。
(2)工作量。云计算提供商是否围绕工作负载的需求优化或构建其平台?例如,政府应用程序可能更容易在专门设计用于满足机构安全性和可访问性要求的云平台上运行。
(3)应用和语言。在某些情况下,例如基础设施即服务,可以控制操作系统、中间件和运行时库。在平台即服务中,将会失去这种控制,云计算提供商将决定其中的许多领域。这种方法可以限制应用程序和语言支持。
(4)工具。这是亚马逊网络服务公司擅长的领域。该公司提供的工具和API在很多方面超越了竞争对手,使开发人员可以更轻松。但是获得这个好处是有代价的。从AWS云平台迁移到另一个云提供商的云迁移计划,意味着可能会重写用户的应用程序或添加集成到AWS产品中的第三方功能。云计算提供商提供的工具集越好,客户忠诚度就越高。
(5)网络化。人们经常被忽视的是,网络是云计算应用程序的重要组成部分,尤其是必须与内部部署应用程序或者可能被迁回用户数据中心的应用程序进行通信的应用程序。将应用程序迁移到云平台的企业必须维护两个网络堆栈:一个用于其内部部署,另一个用于基于云计算的部署。云计算供应商Big Switch Networks公司通过其云计算架构解决了这一问题,该公司为用户提供了一个单一的基础,无论用户的应用程序驻留在何处,它都可以看起来与用户的内部部署相同。用户可以在内部部署或在AWS云平台中部署结构,并依赖于一组标准的网络管理规则和设置。
(6)数据结构。这可能是争议性较小的问题之一,因为数据结构非常依赖于应用程序。但是数据结构成为实际迁移的一个复杂问题。此时,可能花费数小时来调试不按预期方式运行的应用程序。这个故障可能是由数据结构本身的某些问题引起的,这会使应用程序无法按预期运行。
(7)存储。云迁移计划中的一个关键考虑因素是存储。企业需要考虑成本以及数据的保存方式。另外,需要考虑如何将数据从原有应用程序迁移到另一个提供程序托管的新应用程序。大多数云计算提供商都可以轻松、经济、高效地将数据导入云平台中,但将数据输出或采取相应措施是成本开始增加的地方。
迁移应用程序时迁移性是关键
所有这些要点都不是反对在两个云计算供应商之间移动应用程序的理由,它们只是构建云计算策略时要考虑的主要指标。
为了使云迁移计划顺利实施,云计算部署的设计应该考虑到可迁移性。但这并不意味着一切都会很顺利。此外,还必须考虑业务和技术的权衡。
如果应用程序存在于AWS云平台中,并且需要灵活地移动到其他平台,则可能意味着不能使用某些AWS工具和功能。对于某些组织而言,这种权衡可能是可行的。但是,在许多情况下,通过利用这些工具并将应用程序保持在原来的位置,无论运营成本如何,都可以最好地了解应用程序的长期价值。
对于每个应用程序,价值和成本之间的权衡将是不同的,特别是对于不同的云计算提供商。然而,这应该与IT团队多年来所做的构建与购买没有什么不同。
然而,现在已经不是这样。IT团队要处理一些争论的问题,其包括在哪里构建、在哪里停留,以及如何迁移与购买等。其关键是企业在项目开始时就需要做出正确的调用,而不是部署后几个月或几年才采取措施。