“无服务器”的不同定义

18-09-14 banq
    

像以前许多行业流行语:云计算”,“DevOps”,“大数据” , 关于“无服务器”这一术语定义的争论对于初学者来说是一头雾水。

“还会有服务器的!”

- 来自Reddit的戴夫。

谢谢你,戴夫。😏

如果你正在阅读一篇关于无服务器相关内容的文章,那么作者很可能会在引言中陈述他们对该术语的定义。

经验丰富的从业者将跳到下一段,但如果你是新手,那么为你理解这个概念增加一些深度是值得的。

在本文中,我们将介绍无服务器领域中几位着名倡导者提供的定义,并在此过程中提取一些共同主题,最后尝试我自己的不优雅定义。

注意:所有重点都在下面的引文中。

专家们说了什么

我们将从AWS开始:

“无服务器计算让你在不考虑服务器的情况下构建和运行应用程序和服务。无服务器应用程序不需要你自己配置、扩展和管理任何服务器。你可以通过无服务器构建几乎任何类型的应用程序或后端服务,包括所有服务器,包括需要以高可用性运行和扩展你的应用程序。“

无服务器框架的作者共享一个类似的信息:

“就像无线互联网在某处有电线一样,无服务器架构仍然在某处有服务器,无服务器真正意味着什么?作为开发人员,你不必考虑那些服务器,你只关注代码。

...你无需主动管理应用程序的扩展,您不必配置服务器,也不必为未使用的资源付费。“

Auth0副总裁Tomasz Janczuk提供了一个高级总结:

“无服务器趋势的本质是在软件开发过程中缺乏服务器概念。”

AWS Lambda的产品经理Ajay Nair专注于有关责任的具体细节:

“拥有服务器就必然必须负责任:

1. 需要将原语(在应用程序中的功能,或在存储时的对象)映射到服务器原语(CPU,内存,磁盘等)的方式。

2. 需要将容量扩展以处理应用规模的增长。

3. 需要处理应用程序未来预计流量的能力和配置(并支付钞票),与是否存在实际流量无关

4. 需要管理可靠性和可用性结构,如冗余,故障转移,重试等。

无服务器意味着与服务器相关的责任不再在你的职责范围内。“

保罗·约翰斯顿(Paul Johnston),前AWS Serverless Snr DA,给出了一个精巧、经济的解释:

“ 如果没有人使用无服务器解决方案(不包括数据存储),那么无服务器解决方案就无需运行。”

保罗还指出了一个我经常遇到的常见误解:

“通常在人们的脑海中,无服务器意味着您正在使用函数即服务(FaaS),这只可能是无服务器解决方案的一部分。”

Cloud Guru的工程副总裁Peter Sbarski表达了自己的看法:

“无服务器是关于将用户从服务器、基础设施中解放出来,解放他们以前不得不处理低级配置或核心操作系统的工作,相反,开发人员利用单一用途服务(例如S3用于存储或Auth0用于身份管理)和弹性计算平台(例如AWS Lambda)来执行代码。“

共同点

从上面的引文中提取共同点,围绕无服务器包括什么以及它排除的内容我有了新的想法:

什么还在无服务器边界内:

1. 资源成本必须与使用水平紧密结合

2. 更加专注于应用程序代码

什么不包括在无服务器边界:

1. 服务器配置和维护

2. 主动管理服务可用性和扩展

我将站在上面提到的巨人的肩膀上,并将这些观点组织成散文,给出我自己的定义:

无服务器解决方案是一种可以解放开发人员,从而能让他们更多地关注应用程序开发而无需担心配置、扩展或维护服务器(或容器)以及系统级别的运行成本。

banq认为:说白了,干掉后端,干掉系统管理员,系统架构师,DBA等等。

The differing definitions of “serverless” - DEV Co