根据我们的《2017 年应用交付现状》调查,五分之一的组织计划将超过 50% 的应用迁移到云端。可以肯定的是,其中至少有一部分属于我们如今所说的“遗留”应用。无论是单体式“胖客户端”应用,还是 21 世纪初的三层 Web 应用,在如今应用拆分速度如此之快的环境中,它们无疑都算得上“遗留”应用。至于这种速度有多快,我想到的比喻有些血腥,还是不在这里细说了。
因此,问题不在于是否迁移,而在于何时迁移,以及如何迁移。在准备将旧式应用迁移到云端时,应考虑哪些事项并做好哪些准备,才能为迁移工作提供支持并确保其成功?
为帮助您做好迁移准备,以下是需要提出并回答的4个简要问题(别忘了回答)。
1. 容器还是虚拟机?
是的,现在确实需要在两者之间做出选择,而且应认真考虑,尤其是在迁移到需要转换虚拟机的云环境时。在2016 年 Apache Mesos调查中,51%的受访者正在容器中运行旧式或单体应用。容器具备的可移植性便于将其迁移到云端,这是采用这种方式的原因之一。另一个原因则与云计算领域反复强调的观点类似:容器有助于降低成本。一项NetEnrich 调查发现,46%的受访者“预计使用容器可使年度 IT 成本降低多达 30%,无论是通过提高开发人员的工作效率、减少基础设施支出,还是提升其他方面的效率。”
当然,VM也有自身的优势,尤其是更有可能承载容器无法支持的旧式应用,例如Microsoft应用和服务,以及客户端用户界面应用。此外,负责管理云端应用的人员通常更熟悉VM,因此可以利用现有技能,逐步降低总体运营成本。
2. 扩展能力
如何扩展这款应用?理想情况下是自动扩展,因为这正是云计算的一大优势。不过,大多数传统应用很可能是有状态的。因此,扩展时需要格外注意:负载均衡层必须具备特定能力,才能避免应用迁移到云端后出现故障。许多传统应用,尤其是传统的三层Web应用,都需要使用持久性来维持应用正常运行所需的状态。对于大多数传统应用,不能采用“广撒网、碰运气”的扩展模式,因此需要确保选择合适的云端负载均衡服务,让应用能够顺利扩展而不发生故障。
3. 安全性
安全始终是需要关注的问题,但将旧版应用迁移到云端可能需要格外谨慎,尤其是从未对外开放的内部应用。应用迁移到云端后将面向公众,因此需要将访问权限限制为仅授权用户,这可能需要实施身份联合(除非还要将内部身份存储迁移到云端,但通常不会这样做)。此外,还需要考虑获取SSL证书,并提前制定证书管理计划。
如果这是一个旧版Web应用,还需要确保应用安全和DDoS防护均已落实。由于旧版应用可能没有现成的安全策略和防护措施,可以考虑使用云安全服务来提供这些能力,从而在不降低安全性的前提下节省时间和成本。如果已有相关服务,并希望将其随应用一同迁移(这通常是明智之举),则应认真考虑采用托管云模式,以便更好地支持真正的“直接迁移”体验。
4. DNS
讨论云时很少有人提及DNS,但将旧版应用迁移到云端后,用户需要能够找到它。请确保在适当的时间更新DNS。这是需要优先考虑的事项,因为人们往往会忽略它,而应用迁移时更新这个数字地址簿至关重要。
将旧版应用迁移到云端时,需要考虑很多因素。但在直接将应用迁移上云之前,务必要提出这4个问题,并明确相应的答案。
关于作者

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。
Lori Mac Vittie 的更多博客文章相关博客文章
Thingbot正转变为攻击平台
Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。
借助F5全新Quick Start,在AWS上快速开展业务
在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。