译文 | Serverless架构的简短介绍,我们将在哪需要它?
Posted 博云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了译文 | Serverless架构的简短介绍,我们将在哪需要它?相关的知识,希望对你有一定的参考价值。
翻译:袁思思
来源:DZone
原文链接:https://dzone.com/articles/a-short-introduction-to-serverless-architecture
Serverless架构和功能即服务(FaaS)在云计算中现在是热门的动态。除了微软和亚马逊,许多其他的供应商也提供FaaS。本文是一个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点内容:
基础的,FaaS是关于运行终端代码,无需管理自己的服务系统或者自己的服务应用。
FaaS提供不需要代码到特定框架或库。FaaS功能是常规应用,当提到语言和环境时。
既然我们没有服务应用需要运行,与传统系统相比部署变得非常不同——上传代码到FaaS供应商,并且它做了一切。
水平扩展是完全自动的、弹性的并通过供应商管理的。
FaaS中功能通过事件类型触发,由供应商定义。
大部分供应商也允许一个对于入站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架构的简短介绍,我们将在哪需要它?的主要内容,如果未能解决你的问题,请参考以下文章