Serverless:这真的是将来吗?(一)

头图.jpg

原文 | https://www.pulumi.com/blog/is_serverless_the_future_part_1/安全

做者 | Lee Briggs & Piers Karsenbarg服务器

译者 | donghui并发

许多开发人员说,无服务器是计算的将来,而其余开发人员说,它永远不会成功。咱们本身的观点没有那么两极分化。咱们将无服务器视为一种选择,这是从初创企业到中型企业,再到大型企业的一个可能的垫脚石。在这两篇博文中,咱们将讨论无服务器如何适应这一过程,以及它的优势和缺点。less

咱们的目标是帮助您切实地评估无服务器计算。咱们但愿激发讨论,而不是下意识的反应,不管是同意仍是反对。但愿这些博客文章能帮助您在全部相关人员中展开讨论,就最佳业务方案达成一致。该课程可能涉及无服务器,也可能不涉及。在这第一篇文章中,咱们将考虑在讨论无服务器时最多见的几个问题。在第二篇文章中,咱们将研究一些更普遍的问题。性能

什么是无服务器?

“无服务器"这个术语有点用词不当。更愤世嫉俗的人可能会嘀咕,“无服务器仍然在服务器上运行!“这是真的。无论你使用什么云提供商,你老是使用服务器来运行你的应用程序。必须配置、管理和维护这些服务器。云提供商提供的无服务器服务一般会抽象出难以管理的运行应用程序组件:它们为您运行和管理服务器。开发人员能够运行他们的应用程序,而不用担忧底层,好比操做系统,甚至计算能力。测试

为何采用无服务器?

当人们推广无服务器时,会给出一些现成的答案。咱们将在这里快速地提到它们,而后咱们将更仔细地研究这些说法。如下是人们给出的三大理由。ui

1. 这是一个快速开始的方式

将服务器的管理移交给提供商意味着您能够很是快地将应用程序提供给用户。有不少底层基础设施您没必要为其编写或维护代码。 ​云计算

2. 它很便宜

​ 无服务器能够经过几种方式为您省钱。首先,由于提供者管理服务器,因此能够下降管理成本。您也不须要编写那么多代码,由于服务器不是您关心的问题。您能够更快地将应用程序推向市场,这意味着您能够更快地开始创收。最后,根据您的使用模式,您只需支付执行代码所用的时间。你不用为空闲时间付钱。 ​url

3. 它处于 IT 控制以外

​ 在采用云工程的组织中,人们常常转向无服务器,由于他们以为 IT 太慢或反应迟钝。在"传统"组织中,可能很难购买硬件,采购时间可能太慢,或者可能会因运营或财务而退缩。这一般是人们转向云提供商的一个缘由,做为迁移的一部分,他们可能会考虑使用无服务器。操作系统

若是在提供云资源的过程当中遇到了诸如严格的权限之类的障碍,那么在已经采用云计算的公司中,您还会看到无服务器的采用。无服务器是一种绕过被视为"拦路虎"的问题来完成工做的简单方法。有时,无服务器的推进可能来自开发部门以外的部门。例如,市场营销部门可能但愿发布一些对时间相当重要的内容,由于它与某个事件有关。

或者是?

让咱们更仔细地看看人们提倡无服务器的缘由。

1. 这真的是一种快速开始的方式吗?

​ 使用无服务器可能会使您的应用程序更容易推向市场,但这须要从新考虑如何构建和开发应用程序,这会致使之后的劳动惩罚。当您开始利用无服务器产品时,您的组织在构建生产应用程序时采用的传统作法可能须要从新考虑,甚至须要从新调整。这方面的一个很好的例子是在考虑监控和可观察性时:许多监控平台工做在一个您没法访问的层上,您没法深刻了解应用程序的性能。从新设计和从新思考如何使用无服务器技术构建生产就绪的应用程序,可能会给无服务器的旅程带来意想不到的延迟。 ​

2. 真的便宜吗?

​ 无服务器被认为具备成本效益的缘由之一是,您只需为使用的计算时间付费。可是,使用无服务器可省钱并不是必然。剖析您的应用程序是否合适很是重要。这里有两个注意事项。 ​

请求的模式是什么?

若是您的应用程序有许多小的快速请求,那么无服务器多是一个不错的选择。另外一方面,若是您的应用程序依赖长时间运行的操做,那么您在查看帐单时可能会感到震惊。 ​

那启动时间呢?

请记住,您仍然须要为应用程序的启动时间"付费”。无服务器服务一般会受到"冷启动"的惩罚,所以,若是您不多使用或根本没有使用,则可能必须在后台运行其余进程以确保您的应用程序不会为此付出代价。这也意味着您的第一个请求将比随后的请求花费更长的时间。若是无服务器功能须要始终快速响应,则能够为诸如预置并发之类的实现支付额外费用,以改善冷启动的损失。可是,与传统的软件部署方法相比,这能够轻松抵消您可能节省的任何成本。 ​

3. 控制又如何呢?

​ 采用无服务器平台做为部署机制意味着将为基础设施打补丁的责任移交给提供者。您再也不可以对操做系统层的安全警告作出快速反应;你信任你的供应商来作这些。在这种状况下,你可能不想放弃控制权。

您仍然须要管理应用程序依赖项中的安全通知,而且须要一种机制来对这些问题做出反应。因为缺少须要管理的基础设施,无服务器的采集者常常会产生错误的印象,认为他们的应用程序是"安全的”,但这种状况不多发生。您可能须要为应用程序的渗透测试而采用的任何现有机制进行调整,并适合于任何新的无服务器平台。虽然您的攻击面可能较小,但仍然须要确保任何潜在的攻击者都很难经过无服务器基础设施水平地进行攻击。

若是您选择无服务器是由于您或其余部门但愿绕过标准 IT 过程,那么这将指向组织内部的问题,而不是对无服务器的需求。技术不能解决文化问题。真正能解决这些问题的是人们相互交流,找出如何让每一个相关的人生活得更好。

您必须明白,您正在将服务器的控制权移交给提供者,而不是本身控制,须要详细研究合规性和无服务器优点之间的权衡。

本文转载自 Serverless Life 公众号,转载请联系原做者。

相关文章
相关标签/搜索