整体平移
尽管整体平移存在诸多风险,但这仍然是最常见的云迁移模式。Shaw 说,在企业的数据中心生命周期即将终止时,采用这种模式是可以理解的。“在那种情况下,很少有公司愿意再签订一份为期 20 年的数据中心合同,因此整体平移成为一种可行的选择。”
与 Shaw 合作的一些公司就做出了这种选择。采取这种迁移模式的公司几乎都计划在以后为应用程序重新设计架构。“但实际上,没几家公司能实现这一点。”他补充说。
重建关键业务系统平台
要优化应用程序,使之适合在云端运行,组织首先会想到的是重建平台,也许他们会将应用程序从传统的关系数据库,迁移到在云端运行的数据库上
重建平台的优势在于,企业能充分利用某些云服务功能,而不必费力分解对业务至关重要的大型复杂单体应用程序。
重新设计单体应用程序架构
要充分利用云服务的优势,可能需要重新设计单体应用程序架构,即,将单体应用程序分解为零散的组件,并以云原生的方式进行重新构建,然后逐渐将整个应用程序迁移到云端。
Shum 认为,这项工作可能需要付出多年的努力。因此,业务团队和 IT 团队必须提前开始密切合作。“如果没有切实的业务用例需要我们努力推进这项工作,大家就会陷入云服务‘疲劳’状态。因为大家都无法即时看到成本效益。”她补充说。
如果 IT 团队与业务团队之间建立了牢固的关系,从长远来看,分解单体架构可以极大地提高企业敏捷性。
尽管如此,分解单体架构依然是一项艰巨的任务。ThoughtWorks 通常主张采用功能薄片的方法,一个功能薄片代表一个可以迁移到云端的完整功能。“通常,我们会建立一个矩阵,研究主要有哪些业务功能可以通过向云端迁移立即创造价值。”Shum说。
“在切分功能薄片时,应该包含技术和架构的各个层次。切分出来的功能薄片,应该能够推动诸如持续集成和交付流水线之类的实践,这些实践将为实现云原生应用发挥核心作用。”
采用 Polycloud
一段时间以来,ThoughtWorks 一直倡导 Polycloud 的概念。这种使用云服务的方法,不仅拒绝仅与一家云服务提供商签订企业协议,而且也不认同企业应该为了能够更方便地在云服务提供商之间迁移而采用最常用的云服务。
Shaw 认为,虽然 Polycloud 的理念代表较高的云成熟度水平,而当今没有多少企业能够达到这种水平,但仍有充分的理由去为之努力。
当今各大云服务提供商的核心产品虽然很相似,但确实存在重要差异,比如在数据隐私或机器学习功能方面。对于某些工作负载,换一个供应商可能会带来显著的好处。
企业还应该考虑其应用程序的生命周期。“对于像银行核心系统这样可以使用 10 年左右的产品,企业是否真的想将自己一直与一个供应商捆绑在一起?”Shaw问道。
Polycloud 和多云 (multicloud) 之间也有区别。Polycloud 是指企业先评估哪些云服务功能最适合自己的需求,然后在此基础上使用由多个云服务提供商提供的不同云服务功能。相对而言,多云则是指在不同的云端使用相同的功能和部署应用程序。有时,使用多云的目的是为了解决 SLA 问题而进行备份。Goedert 说,企业经常出于业务连续性的原因而采用多云战略,特别是当他们认为供应商无法满足他们的服务水平协议要求时。
有别以往的云服务
可以看到,企业要发挥云服务的潜力,就要在组织内部进行重大变革,包括从改变 IT 购买行为,到改变应用程序的架构设计,再到改变团队的工作方式。Shaw 说:“这项工作要付出多年的努力,而且可能无法正确解决所有问题。”
胜利者将是这样的企业,他们有足够的勇气从这些错误中吸取教训,而不会临阵退缩,重新采用旧的工作方式。Goedert 说:“归根结底,迁移到云端可以加速实现企业现代化,但需要认真规划如何成功实现迁移。”