无服务器并非不需要服务器,关键在于应用

F5生态系统 | 2017年6月12日

“无服务器计算”这一概念引发了许多困惑。这可能是因为它的名称并不准确:它既不是指服务器,也不是指计算,至少不是大多数IT专业人员通常所理解的传统意义上的服务器或计算。

无服务器更适合称为函数即服务(FaaS),因为这正是它所提供的服务。从FaaS属于无服务器服务的意义上说,SaaS也是如此,PaaS也可以合理地归入此类。这是因为从服务使用者(通常是开发者)的角度来看,服务器,也就是计算资源,已不再需要纳入考虑。计算资源(服务器、网络)隐藏在后台,通过一系列自动化和编排机制自动进行配置、管理和扩缩容,并最终由服务提供商管控。您需要为此付费,但完全不必接触这些资源。

总体而言,无服务器FaaS并不能取代SaaS、PaaS或云。它是在现有模式之上增加的另一种选择,让开发者能够按需调用函数。它由事件驱动,也就是说,函数由事件触发。该事件通常是调用API,具体形式为包含特定URI的HTTP请求。没错,就是API调用。

FaaS最常被提及的用例是图像或视频处理,因为这类处理所需资源的使用频率和容量通常难以预测。FaaS提供了一种经济高效的方式,可按调用次数处理此类媒体。另一个例子是物联网领域,其中的操作由控制器应用或设备本身产生的事件触发。此外,还有API后端用例。对大多数人而言,这通常比其他用例更容易理解,因为API通常被描述为通过URI调用函数。无论函数执行什么操作,都只会在特定事件触发时运行,并且应当是单一且相互隔离的函数。

应用分解

这并不是我们通常所见或所讨论的云。这是因为云(IaaS)侧重基础设施和运维,而FaaS(以及PaaS和SaaS)侧重应用。它们旨在提供开发环境,让开发人员能够编写代码来执行特定任务,作为更大规模应用项目的一部分。能否使用多个FaaS实现来构建一个应用?当然可以。事实上,从这个角度来看,FaaS之于SaaS,就如同微服务之于单体应用。

但这正是关键所在。FaaS关注的是应用,而不是服务器。不能使用FaaS构建云,但可以用它开发应用。不能直接将应用“原样迁移”到“无服务器”环境中,而必须先将其拆解,再重新构建,更准确地说,是将其重新架构为一组FaaS。

组合方式(或许该称为排列方式?)多种多样。部署在IaaS中的应用可以同时采用FaaS和PaaS。IaaS和PaaS可能部署在本地,而FaaS则可能部署在公有云中。

SaaS、PaaS和FaaS的特点是,您永远看不到“服务器”。但IaaS并非如此。在IaaS中,服务器称为“实例”,需要对其进行管理和维护。这是因为,无论是本地部署还是公有云中的IaaS,交付的都是基础设施和运维,而不是应用。这一点始终未变,但过去十年来,“服务器 == 应用”长期以来一直是常态,因此我们可以忽略这一点。

但随着微服务和API的兴起,以及如今FaaS的出现,我们已无法再沿用“服务器 == 应用”的运作模式,因为这种等同关系已不再成立。

归根结底,FaaS与服务器无关,甚至与我们通常理解的云也没有太大关系。但它确实会显著改变我们设计和构建应用的方式。

分享
标签: 2017

关于作者

Lori Mac Vittie
Lori Mac Vittie杰出工程师兼首席技术布道师 | F5

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。

Lori Mac Vittie 的更多博客文章

相关博客文章

F5纪念2021年世界艾滋病日
F5生态系统 | 2021/12/01

F5纪念2021年世界艾滋病日

值此世界艾滋病日,F5郑重承诺,将与员工、客户、社区和合作伙伴共同努力,消除社会对HIV感染者仍然存在的污名与偏见。

Thingbot正转变为攻击平台
F5生态系统 | 2018/11/29

Thingbot正转变为攻击平台

Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。

借助F5全新Quick Start,在AWS上快速开展业务
F5生态系统 | 2018/11/20

借助F5全新Quick Start,在AWS上快速开展业务

在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。

为什么声明式模型对NetOps自动化至关重要?
F5生态系统 | 2018/04/30

为什么声明式模型对NetOps自动化至关重要?

为什么声明式模型对NetOps自动化至关重要?阅读F5博客,了解基础设施即代码如何简化网络扩展。

开源聚焦:F5基础设施即代码与多云可管理性
F5生态系统 | 2017/11/16

开源聚焦:F5基础设施即代码与多云可管理性

开源聚焦:基础设施即代码与多云。阅读博客,了解模板和Terraform如何简化F5应用服务的部署。

破解IT“无解困局”的答案:私有云
F5生态系统 | 2016/09/12

破解IT“无解困局”的答案:私有云

破解IT“无解困局”的答案:私有云。阅读F5博客,了解本地部署的敏捷性如何化解安全与速度难以兼顾的问题。