译文 | Serverless架构的简短介绍,我们将在哪需要它?

Posted 博云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了译文 | Serverless架构的简短介绍,我们将在哪需要它?相关的知识,希望对你有一定的参考价值。

翻译:袁思思

来源:DZone

原文链接:https://dzone.com/articles/a-short-introduction-to-serverless-architecture


Serverless架构和功能即服务(FaaS)在云计算中现在是热门的动态。除了微软和亚马逊,许多其他的供应商也提供FaaS。本文是一个serverless架构的简短介绍,我试着解释它是什么和我们会在哪需要它。



云计算的演化


在云计算的发展演化期间,云有了多重形式和抽象层次。

译文 | Serverless架构的简短介绍,我们将在哪需要它?


数据中心,无论是本地还是由供应商提供服务,在我们今天所知都是上云的第一步。它抽象物理主机环境,并且我们开始通过硬件设备扩展环境。当虚拟化开始进化,我们开始在云环境上托管虚拟机。我们抽象硬件和使用操作系统作为扩展的单元。这不久之后,我们创建主机环境到云,并且抽象了操作系统。我们新的扩展单元是应用。但是这不是这个旅程的终点,现在我们已经迁移到功能或者serverless架构。


不同的云模式留给我们带来不同的职责。拥有本地数据中心意味着我们要对所有的事情负责。当迁到云后,每一步的进化让我们的职责越来越少。

译文 | Serverless架构的简短介绍,我们将在哪需要它?


Serverless架构事实上比SaaS出现的晚,但是在图表中它在SaaS前面,因为在SaaS的情况下,客户不控制任何应用和它的基础设施。



Serverless架构


在serverless架构中,功能是扩展的单元,抽象了语言runtime。我们不谈论CPU或者RAM或者其他资源有多少,我们需要用来功能运行。我们谈论的只是关于它运行功能所花的时间。所有其他指标不参考。我们编写了功能,发布到云中,只运行这些功能所用的时间。


Serverless架构不会严格规定功能所使用的技术必须是什么。它只是一些我们希望实现的工作单元。功能可以通过很多方式触发,但是它也可以通过HTTP请求或一些相关服务中的活动触发。


在这篇优秀的文章Serverless Architectures中(https://martinfowler.com/articles/serverless.html),Mike Roberts给我们带来关于FaaS的6点内容:


  1. 基础的,FaaS是关于运行终端代码,无需管理自己的服务系统或者自己的服务应用。


  2. FaaS提供不需要代码到特定框架或库。FaaS功能是常规应用,当提到语言和环境时。


  3. 既然我们没有服务应用需要运行,与传统系统相比部署变得非常不同——上传代码到FaaS供应商,并且它做了一切。


  4. 水平扩展是完全自动的、弹性的并通过供应商管理的。


  5. FaaS中功能通过事件类型触发,由供应商定义。


  6. 大部分供应商也允许一个对于入站HTTP请求的响应触发功能,典型的在很多种API网关中。


Adrian Cockroft 在他的tweet中清晰的定义了“serverless”:


如果你的PaaS可以在20s内高效启动实例,运行半秒,那么可以叫做serverless。


通过这个,我们可以推断长运行工作流和其他大规模的任务不适合serverless架构。



功能服务


已经有一些公司运行FaaS:

  • Microsoft – Azure Functions

  • Amazon – AWS Lambda

  • Auth0 – webtask

  • Iron.io – IronWorker

  • Planet Rational – webscript


还有很多其他服务,并且所有这些差异是由于他们不同技术能力和实施手段。



总结


Serverless架构允许我们创建片段代码,做一些有用的东西,同时,无需消耗大量服务资源也可以快速运行。它不是意味着FaaS只在小脚本中有用。虽然功能是一个小单元,但它可以每秒被调用成千上万次。问题是什么样的小功能我们需要从其他组件或应用图层移动到功能。


上期回顾



私有云 混合云 自动化运维

关于BoCloud博云

BoCloud 博云,为企业级客户提供针对互联网化、大数据业务应用、去IOE 化(X86 服务器规模化应用)的底层云化架构和智能云运维系统,运用最新容器技术协助企业完成IT 系统云架构的实施和运维, 帮助企业客户降低成本、提升效率、简化运维、提高系统可靠性和安全性。凭借对客户业务流程和应用的深刻理解,以及先进技术产品的持续研发, BoCloud 博云以创新云技术支撑企业核心业务,促进企业IT 系统的不断进化。

www.bocloud.com.cn

以上是关于译文 | Serverless架构的简短介绍,我们将在哪需要它?的主要内容,如果未能解决你的问题,请参考以下文章

译文丨伯克利对serverless的看法:简化云编程

Serverless 架构开发手册 — “人人都是 Serverless 架构师”先导篇

Serverless 架构模式及演进

Serverless 架构模式及演进

译文丨伯克利对serverless的看法:简化云编程

serverless入门介绍