我在研究 Serverless 的时候,看了很多相关的文章和书籍,其中 Mike Roberts 的 “What is Serverless” 这本书是把事情解释的最清楚,我把这本书的主要内容翻译出来给大家
我们将首先看一看历史,看看是什么原因导致进化出了 Serverless,然后我们将解释一下 Serverless 到底是什么,最后,我们将总结为什么 Serverless 是云计算成长的必然产物,同时也是应用交付方式的巨大的飞跃。
让我们回到2006年, 那时候还没有 iPhone 和移动互联网,Ruby on Rails 是一个非常热门的编程框架,Web 2.0 在当时是互联网最火热的名词。那时候大部分应用程序的后端服务,都是运行在托管或者自建的数据中心中的,物理服务器上的。
2006年8月发生的事情将从根本上改变这种模式。 亚马逊新的IT部门亚马逊的 AWS 宣布推出Elastic Compute Cloud(EC2),EC2是众多基础架构即服务(IaaS)产品中的第一个, IaaS允许公司租用计算资源 (主要是面向互联网应用的虚拟主机),而不是购买自己的服务器, 它还允许人们在几分钟之内就可以获取到主机资源。 EC2的五个主要优势是:
使用 IaaS ,本质上我们可以认为是基础设施外包的技术。 当我们开发和运营软件时,我们需要做的工作大致可以分为两类:一类是针对我们的需求需要定制的工作,另外一类是和其他公司做的做法类似,比较通用的工作。基础设施就是属于第二种,其范围包括物理的设备,例如运行我们机器,电路,网络等,也包括一些通用的软件功能,比如用户认证。
基础设施外包通常可以由服务提供商(SP)提供。 例如,电力由电力供应商提供,并且网络由互联网服务提供商(ISP)提供,他们通过 2 种模式来减低成本和提高效率:规模化和技术。
几乎所有形式的基础设施外包都通过规模化的模式来降低成本,把好多工作打包在一起批量的来做,成本比单独一件一件的去做,效率要高太多了。例如,AWS 可以以远远低于小公司的价格购买相同规格的服务器,因为 AWS 一次性购买成千上万的服务器,而不是购买几十台服务器。 同样,AWS 的每台服务器运营成本远低于自建 IDC 的公司。
基础设施外包通常也部分归因于技术创新。 比如 EC2 ,是通过硬件虚拟化的技术来实现的。在IaaS出现之前,一些IT供应商已经开始允许公司来按月来租用物理服务器,显然,EC2 的按小时租用主机的方式更具吸引力,而且,虚拟化技术可以将物理服务器细分为许多更小的,快速启动和关闭的虚拟机(VM),这样 IaaS 才变得可行。
基础设施外包与 IaaS 的五大好处完全一致:
当然,基础设施外包也有其缺点和局限性,我们将在后面部分介绍。
原文链接: Serverless 系列 (1): 云的诞生和基础设施外包 - 知乎