无服务器架构它是什么?我们为什么需要它?

服务器架构和功能即服务(FaaS)是云计算的热门趋势。除微软和亚马逊外,还有许多其他供应商提供FaaS。本文是对无服务器架构的简单介绍,我会解释它是什么以及我们为什么需要它。

云的演变

在其发展过程中,云具有多种形式和抽象级别。

数据中心,无论是内部的还是由供应商作为服务提供的,都是我们今天所知道的云技术的第一步。它抽象了物理托管环境,我们开始使用硬件单元扩展这些环境。随着虚拟化的发展,我们开始在云环境中托管虚拟机。我们对硬件进行了抽象,并将操作系统作为等级单位。不久之后,我们将托管环境构建到云端,并抽象出操作系统。我们新的缩放单元就是应用程序。但这并不是终点,因为我们现在已经转向了功能或无服务器架构。

不同的云模型给我们留下了不同的责任。拥有数据中心意味着我们对正在进行的所有事务负全部责任。当迁移到云端时,进化过程中的每一步都会让我们的责任越来越少。

无服务器架构实际上比SaaS晚,但它在图表中的SaaS之前,因为在SaaS的情况下,用户对应用程序或其基础结构没有任何控制权。

无服务器架构

函数是无服务器体系结构中的缩放单位,它抽象语言运行时。我们不讨论运行函数需要多少CPU或RAM或任何其他资源。我们只讨论运行该函数所需的时间。所有其他指标都不应该困扰我们。我们编写函数,将它们发布到云端,并且只为这些函数运行的时间付费。

无服务器架构没有严格规定技术上必须具备的功能。这只是我们想要完成的一些工作单元。可以通过多种方式触发。它可以是定期运行函数的计时器,但它也可以是HTTP请求或某些相关服务中的某些事件。

在文章“无服务器架构”中,Mike Roberts提出了功能即服务(Faas)的六点:

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

2.FaaS产品不需要编码到特定的框架或库中。FaaS功能是语言和环境的常规应用程序。

3.由于我们没有服务器应用程序可以运行,因此部署与传统系统有很大不同 - 我们将代码上传到FaaS提供商,它可以完成其他所有工作。

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

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

6.大多数提供者还允许触发函数作为对入站HTTP请求的响应,通常在某种API网关中。

Adrian Cockroft在他的推文中定义了“无服务器” :

If your PaaS can efficiently start instances in 20ms that run for half a second, then call it serverless.

由此可以得出结论,长时间运行的工作流程和其他大型任务不适合无服务器架构。

函数服务

已有公司将函数作为服务运行。以下是其中一些:

Microsoft - Azure

亚马逊 - AWS Lambda

Auth0 - webtask

Iron.io - IronWorker

Planet Rational - webscript

还有许多其他可用的服务,所有这些服务的技术能力和实现都各不相同。

总结

无服务器架构允许我们构建一些有用的代码,同时,在不消耗大量服务器资源的情况下快速运行。这并不意味着FaaS只能在小场景中使用。尽管函数是一个小单元,但它可以每秒调用数百万次。问题是,我们应该从应用程序的其他组件或层向FaaS转移哪些小功能。

版权申明:本站文章均来自网络,如有侵权,请联系01056159998 邮箱:itboby@foxmail.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

中国领先的互联网域名及云服务提供商

为您提供域名,比特币,P2P,大数据,云计算,虚拟主机,域名交易最新资讯报道

域名注册云服务器