Serverless Architectures(译文)(2)—(Martin Fowler)

发布时间:2020-06-12 14:11:49 作者:简单是美美
来源:网络 阅读:283

原文地址:https://martinfowler.com/articles/serverless.html
作者:Martin Fowler, Mike Roberts

4. 优点

  到目前为止,我们一直试图只定义和解释无服务器架构的含义。现在我将讨论这种设计和部署应用程序方法的一些优点和缺点。你绝对不应该在没有充分考虑并权衡利弊的情况下使用无服务器架构。
  让我们从彩虹和独角兽的国度开始,看看无服务器架构的好处。

4.1. 减少运营成本

  在最简单的情况下,无服务器架构是一个外包解决方案。它允许你花钱请人来管理服务器、数据库,甚至你自己管理的应用程序逻辑。由于你使用了许多其他人也将使用的预定义服务,因此我们看到了规模效应的经济性:因为一个供应商正在运行数千个非常类似的数据库,所以你为托管数据库支付的费用较低,。
  降低的成本给你带来的收益来自两个方面:第一个是基础设施成本收益,它纯粹来自于与他人共享基础设施(如硬件、网络);第二个是人工成本收益,你可以花更少的时间在外包的无服务器系统上,而不是花在自己开发和托管的同等系统上。
  但是,这种好处与你从基础设施服务(IaaS)或平台服务(PaaS)中获得的好处并没有太大的不同。但是可以通过无服务器架构的BaaS和FaaS来扩展这一优势。

4.2. BaaS:减少开发成本

  IaaS和PaaS的前提是服务器和操作系统管理可以商品化,而BaaS则是整个应用程序组件商品化的结果。
  身份验证就是一个很好的例子。许多应用程序编写自己的身份验证功能,这些功能通常包括注册、登录、密码管理和与其他身份验证提供者的集成等功能。总的来说,这种逻辑在大多数应用程序中都非常相似,像Auth0这样的服务已经被创建,它允许我们将已经构建好的身份验证功能集成到应用程序中,而无需我们自己开发它。
  BaaS数据库也是同样道理,比如Firebase的数据库服务。一些移动应用程序团队发现,让客户端直接与服务器端数据库通信是有意义的。BaaS数据库删除了大量的数据库管理开销,并且提供了对不同类型的用户执行适当授权的机制,这与无服务器应用程序的模式相同。
  根据你的实际情况,这些想法可能会让你感到不安(我们将在缺陷一节中讨论),但不可否认的是,许多成功的公司几乎不用自己的服务器端代码就能生产出令人信服的产品。

4.3. FaaS: 缩放成本

  无服务器FaaS的乐趣之一是——正如我在本文前面提到的——“水平缩放是完全自动的、有弹性的,并且由服务商管理。”最大的好处是,只需要为你需要的计算付钱。如在AWS Lambda中,取决于应用形态,可能只需要支付100毫秒的边,界对你而言这很划算。

4.3.1. 例一:偶尔的请求

  假设你正在运行一个服务器应用程序,该应用程序每分钟只处理一个请求,处理每个请求需要50毫秒,则你在一个小时内的平均CPU使用率是0.1%。如果这个应用程序部署到自己的专用主机上,那么这是非常低效的。上千个类似的应用程序都可以共享一台机器。
  无服务器FaaS解决了这种低效率,以更低的成本为你提供好处。在上面的示例应用程序中,你只需要为每分钟所花费的100毫秒计算时间付钱,这是总时间的0.15%。
  这带来了下面的连锁效应:

推荐阅读:
  1. Serverless Kubernetes入门:对kubernetes做减法
  2. Knative Serverless 之道:如何 0 运维、低成本实现应用托管?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

serverless 无服务器 架构

上一篇:oracle 如何更改为归档模式

下一篇:数据运算运算符

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》