随着云已成为企业IT日常讨论的一部分,许多IT管理者开始追问:“下一步是什么?”

据Gartner分析师Arun Chandrasekaran在2018年10月于佛罗里达州奥兰多举行的Gartner Symposium/ITxpo上所言,软件创新与企业中开发者赋能的强化,使无服务器计算已成为计算领域“最热门”的方向之一。

Chandrasekaran指出,开发者约有30%至40%的时间花在基础设施相关工作或等待上,而无服务器计算能让他们将注意力转向其他事务。无服务器计算充当了基础设施即服务(IaaS)与平台即服务(PaaS)之间的桥梁,使用户无需感知运维与管理,并支持按需付费和按需扩展。

对多数企业而言,无服务器计算仍处于早期阶段,企业需权衡该计算平台的优势与容器、虚拟机等其他抽象层。早期采用者已收获诸多回报,但市场对技术本质及其价值的误解依然普遍。

Chandrasekaran表示,该技术名称仍具误导性,常与平台即服务混淆。实际上,供应和管理等运维操作已完全对用户抽象,但后台仍使用服务器。

此外,无服务器计算不仅限于计算:它类似于准平台即服务,供应范围超出底层计算能力。它与PaaS的区别在于,PaaS环境中用户仍需负责扩展,而无服务器计算中扩展已被抽象化。

技术现状

说服开发者投资无服务器计算可能颇具挑战。

ServerlessOps创始人Tom McLaughlin在接受CIO Dive采访时表示,从事无服务器计算的人对该领域充满热情,但许多供应商面临的挑战是,市场其他部分“并不真正关心”,且尚未“特别印象深刻或着迷”。

据预测,未来三年该市场规模将达到77亿美元,主要云供应商正争夺领先地位。据部分估计,亚马逊网络服务(AWS)占据主导性的58%市场份额,但竞争对手正奋起直追。

谷歌云平台(Google Cloud Platform)的无服务器Cloud Functions平台增长尤为迅速,据CB Insights数据,其客户选择率已超过微软Azure Functions,分别为23%和10%。

IBM Cloud Functions是公有云和私有云中另一热门平台。顶级私有云平台还包括Azure Functions Runtime、Nuclio、OpenFaaS和Knative,但Chandrasekaran指出,在本地环境中无法充分实现无服务器计算的全部收益。

IBM杰出工程师兼无服务器与事件驱动应用首席架构师Michael Behrendt在接受CIO Dive采访时表示,找到无服务器计算有价值应用的企业正收获资源与成本优化的好处。该技术帮助客户以前所未有的方式使用数据,并构建支持客户的新途径。

但成功实施还需缓解新技术实施中出现的摩擦。

McLaughlin认为,运维中会出现中断,但这种中断可能是好事。无服务器打破了“提升与转移”模式,有助于实现DevOps。

许多尚未完全拥抱云或DevOps的公司正“跳跃式”转向无服务器计算。他表示,迁移到公有云可能需要数年时间,而三到五年后公司可能再次落后。因此,一些客户直接转向容器或无服务器。

计算抽象层的演进

客户并非面临本地、云和无服务器计算之间的严格取舍。存在一系列计算抽象层,每种都适合特定工作负载。

Chandrasekaran指出,当业务需要低延迟、确定性性能或隔离工作负载(后者通常因安全、合规或许可要求)时,物理服务器是合适选择。

尽管物理服务器在遗留应用、边缘计算、高性能计算和大数据应用中仍受欢迎,但其需求“日益减弱”,许多此类应用将跳过一代,直接转向容器化或无服务器环境。

抽象层 虚拟化对象 扩展单元 生命周期 运维成本 供应商锁定
虚拟机监控程序 硬件 虚拟机 数天至数月 中高
容器 操作系统 应用 数秒至数分钟
无服务器 运行时 函数 毫秒至秒

来源:Gartner

Chandrasekaran表示,虚拟机监控程序(即虚拟机)是许多企业工作负载的支柱,但往往存在大量蔓延以及较高的拥有成本,尤其是维护成本。

容器和无服务器具有更多运维控制,但质量不像虚拟机监控程序那样“内置”。

Chandrasekaran指出,容器在测试和开发中很受欢迎,因为代码可以一致方式运行,无需多次编写。容器适合遗留工作负载、云原生应用以及按节点许可。它们可快速启动以应对敏捷工作负载,但仍不成熟,尤其在企业功能方面。

无服务器计算的优势在于按需付费的成本效率、可扩展性、运维简单性、高效资源利用以及开发者生产力提升。它还与微服务架构良好融合。

但它并非完美:Chandrasekaran指出,存在延迟挑战、供应商锁定风险、生态系统支持和平台能力不足,以及调试和监控较弱等问题。

Behrendt表示,无服务器计算专注于快速执行无状态、自包含的逻辑单元,因此用户还需接受平台提供的操作系统。如果用户需要使用Windows操作系统,而无服务器平台提供Linux,则该应用不适合,用户可能不得不降级到容器或虚拟机平台。

这关乎便利性与控制力之间的权衡:用户无需关心许多事情的平台,与较低层级提供的控制力之间的取舍。

未来方向

过去两年无服务器计算使用量大幅增长,但该技术在企业采用方面仍处于早期阶段。

Behrendt认为,未来一年,无服务器计算将扩大范围,适用于比现在更多的工作负载,运行时和内存等方面的缺陷将减轻或完全消失。

McLaughlin表示,随着该领域发展,更多公司将专注于减少开发者导向的产品,有助于改变围绕该技术的认知和讨论。

CIO和技术管理者应认真讨论无服务器计算能为组织带来哪些能力和优势,以及投资风险是否合理。

Behrendt建议:“从小处着手,但要快速启动。”先通过一个小函数积累经验,然后逐步扩大使用无服务器的应用范围。已有许多客户在无服务器计算上运行工作负载的先例,因此不必从零开始。

企业还需在云IaaS和PaaS环境中进行培训,并确保开发者理解云原生设计原则。

Chandrasekaran指出,云原生应用是无状态的,服务松散耦合,因此应用单元独立。这意味着在容器和无服务器计算中,开发者关注实例而非基础设施。

企业需识别具有隔离和独立应用的事件驱动用例。如果已在虚拟机环境中,从中确定可迁移的用例可立即带来成本节省。

更正:关于企业采用无服务器计算挑战的评论已更新,以反映Tom McLaughlin所指为开发者而非管理层。