首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是Serverless?

什么是Serverless?
EN

DevOps用户
提问于 2017-02-28 17:41:06
回答 5查看 4K关注 0票数 49

所有的云提供商都在推销他们的“无服务器”解决方案。我们的承诺是,无服务器将取代开发人员目前开发软件的方式,并在生产中对其进行操作管理。

什么是“无服务器”?人们在哪里可以更多地了解它,以及如何在今天使用它?

EN

回答 5

DevOps用户

回答已采纳

发布于 2017-02-28 17:55:54

维基百科关于无服务器计算的文章很好地介绍了这个主题:

无服务器计算(也称为功能服务(FaaS) )是一种云计算代码执行模型,在该模型中,云提供商完全管理函数的容器平台作为服务(PaaS)的启动和停止,以满足请求(而不是每个虚拟机)每小时所需资源的抽象度量来计费请求。

其想法是,开发人员根本不需要关心服务器基础设施。云提供商管理物理服务器、所使用的操作系统以及与运行服务器有关的所有传统困难。

无服务器计算改变了您的体系结构,从思考计算机在做什么到函数正在做什么。拉姆达就是一个让人想起的例子--您为函数付费并运行,而没有提到下面运行的物理基础结构类型。也有竞争的无服务器主机,如Azure函数 (或者,如果您对这两种主机都不感兴趣,可以简单地进行搜索)。

无服务器有很多优点(虽然在某些情况下,您确实需要用一种稍微不同的方式编写,因为这是一个完全不同的体系结构):

  • 可伸缩性本质上是免费的,因为您只是付费运行一个函数,云提供商可以很容易地为运行您的代码提供更多的硬件。您还可以随着需求的增加而扩展,而不是支付一个固定的费率,无论您的应用程序使用了一次还是一百万次。
  • 服务器软件和硬件不再需要由开发人员管理-云提供商负责处理。如果你曾经在服务器上使用过像Arch这样的东西,你就会知道清除一个关键的包并破坏一切是多么的容易!
  • 它解放了开发人员,让他们专注于他们擅长的代码。大多数开发人员可能不会在服务器基础设施和编程方面都做得很好--无服务器解决了一个问题。
票数 46
EN

DevOps用户

发布于 2017-02-28 17:50:01

Martin有一个很好的概述:

https://martinfowler.com/articles/serverless.html

TL;DR

"Serverless“描述了应用程序开发和设计应用程序的体系结构,其中基础设施是短暂的,这意味着它们倾向于基于容器,并且可以基于动态缩放机制”来来去去“。这就规定了使用依赖于分布式技术(例如密钥/值存储)的无状态体系结构。

票数 15
EN

DevOps用户

发布于 2017-03-02 18:29:36

‘'Serverless’和我们空间中的许多东西一样,正在成为一个过载的术语。但一般来说,它的意思是“在功能上,我们的体系结构不依赖于服务器的配置或持续维护”。

想到的第一个例子是使用本地存储的单页javascript应用程序,它存储在类似于Amazon页面(或任何静态站点--这些只是常见的例子)上。想象一下像“todo”或“things”之类的东西--完全在浏览器中运行的应用程序。您的浏览器点击像S3这样的服务来下载代码,您存储的项目都存储在浏览器中的本地存储中。没有您为此维护的服务器。

第二个实例使用的是类似AWS这样的服务,它有点复杂(也是普及术语“无服务器”的例子)。让我通过介绍它解决的问题来解释这一点:

在我的职业生涯中,我多次为一个客户解决了一个业务问题,它只需要执行定期提取、转换和加载的红宝石代码(通常作为rake任务编写)。一旦解决了,我通常会用cron自动完成它。然后问题就变成了:“我把这个每小时运行一次的东西放在哪里?”对于一些客户,我们会在他们现有的基础设施中设置一个服务器。对于其他人,我们会设置一个EC2实例,尽管它在99%的时间里是空闲的。在任何一种情况下,都有一个服务器需要配置、修补、监视、更新等。

有了Amazon,我就可以把这个rake任务作为一个纯粹的“函数”运行在他们的服务上。我甚至可以安排时间。这个客户不再需要一个简单的每小时一次的基础设施。

有了“无服务器”,还有一台服务器,就像“云”一样,还有一台计算机。在它的基础上,只有一个抽象的层次,它为你承担了一些环境责任。

票数 14
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/61

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档