无服务器开启云计算发展新时代 

2017-03-30
320

 

“无服务器”是一种特殊类型的软件体系结构,在没有可见的进程、操作系统、服务器或者虚拟机的环境中执行应用逻辑。无服务器架构和 Functions-as-a-Service(FaaS)是云计算的热点趋势。除了微软和亚马逊,还有许多其他供应商也提供FaaS。小编将为大家简单介绍什么是无服务器架构以及我们会需要无服务器架构。

 

无服务器开启云计算发展新时代 

 

无论是内部部署还是由供应商提供的服务,数据中心都是云计算的第一步。它抽象化了物理主机环境,我们开始用硬件单元扩展这些环境。随着虚拟化的发展,我们开始在云环境中托管虚拟机;我们抽象了硬件和使用的操作系统作为规模的单位;之后,我们为云构建了托管环境,并抽象了操作系统;再之后新的单元是应用程序;现在我们已经开始尝试无服务器架构或者是FaaS了。

 

无服务器架构实际上晚于SaaS,图中它排在SaaS前面,是因为SaaS,用户完全不能控制关于应用程序或其基础设施的任何事情。

 

无服务器架构

 

无服务器架构是指大量依赖第三方服务(也叫做后端即服务,即“BaaS”)或暂存容器中运行的自定义代码(函数即服务,即“FaaS”)的应用程序,函数是无服务器架构中抽象语言运行时的最小单位,在这种架构中,我们并不看重运行一个函数需要多少CPU或RAM或任何其他资源,而是更看重运行函数所需的时间,我们也只为这些函数的运行时间付费。无服务器架构中函数可以多种方式触发,如定期运行函数的定时器、HTTP请求或某些相关服务中的某个事件。

 

Mike Roberts曾在他的文中提出了有关FaaS的六点:

 

1.从根本上说,FaaS是运行后端代码,无需管理自己的服务器系统或自己的服务器应用程序。

 

2.FaaS产品不需要对特定框架或库进行编码。在语言和环境方面,FaaS函数是常规应用程序。

 

3.由于我们没有要运行的服务器应用程序,所以部署与传统系统也会有不同,我们将代码上传到FaaS供应商,供应商会做所有的工作。

 

4.水平扩展是完全自动弹性的,并由提供商管理。

 

5.FaaS中的函数可由提供者定义的事件类型触发。

 

6.大多数提供者还允许函数来触发对HTTP请求的响应。