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

作者 | Lee Briggs & Piers Karsenbarg

译者 | donghui

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

我们的目标是帮助您切实地评估无服务器计算。我们希望激发讨论,而不是下意识的反应,无论是赞成还是反对。希望这些博客文章能帮助您在所有相关人员中展开讨论,就最佳业务方案达成一致。该课程可能涉及无服务器,也可能不涉及。在这第一篇文章中,我们将考虑在讨论无服务器时最常见的几个问题。在第二篇文章中,我们将研究一些更广泛的问题。

什么是无服务器?

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

为什么采用无服务器?

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

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

将服务器的管理移交给提供商意味着您可以非常快地将应用程序提供给用户。有很多底层基础设施您不必为其编写或维护代码。

2. 它很便宜



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

3. 它处于 IT 控制之外



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

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

或者是?

让我们更仔细地看看人们提倡无服务器的原因。

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



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

2. 真的便宜吗?



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

请求的模式是什么?

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

那启动时间呢?

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

3. 控制又如何呢?



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

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

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

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

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

Serverless:这真的是未来吗?(一)的更多相关文章

  1. Serverless:这真的是未来吗?(二)

    原文 | https://www.pulumi.com/blog/is_serverless_the_future_part_2/ 作者 | Lee Briggs & Piers Karsen ...

  2. 当红开发语言Go,真的是未来的技术主流吗?

    摘要:文将详细介绍 Golang 的语言特点以及它的优缺点和适用场景,带着上述几个疑问,为读者分析 Go 语言的各个方面,以帮助初入 IT 行业的程序员以及对 Go 感兴趣的开发者进一步了解这个热门语 ...

  3. 是未来还是“有毒”?紧抓球鞋风口的毒APP机遇与危机并存

    编辑 | 于斌 出品 | 于见(mpyujian) 新一代的"潮流"之风正在席卷新生代消费市场,从去年开始,国内二手球鞋交易领域突然开始火爆,大有成为新一轮"风口&quo ...

  4. 视频课程 | 云原生下的Serverless浅谈

    京东云开发者社区在3月底于北京举行了以"Cloud Native时代的应用之路与开源创新"为主题的技术沙龙,现场多位技术大咖与开发者们面对面就Cloud Native进行了深入交流 ...

  5. 前端如何真正晋级成全栈:腾讯 Serverless 前端落地与实践

    Serverless 是当下炙手可热的技术,被认为是云计算发展的未来方向,拥有免运维.降低开发成本.按需自动扩展等诸多优点.尤其是在前端研发领域,使用 Node 开发云函数,可以让前端工程师更加专注于 ...

  6. 为什么下一个十年的主战场在 Serverless?

    作者 | 不瞋 阿里云 Serverless 负责人 "唯有超越,才能让我们走下去." 这是不瞋在阿里的第十年.从 2010 年加入阿里云,不瞋参与了阿里云飞天分布式系统的研发,历 ...

  7. 如何用Serverless让SaaS获得更灵活的租户隔离和更优的资源开销

    关于SaaS和Serverless,相信关注我的很多读者都已经不陌生,所以这篇不会聊它们的技术细节,而将重点放在SaaS软件架构中引入Serverless之后,能给我们的SaaS软件带来多大的收益. ...

  8. AWS 15 年(1):从 Serverful 到 Serverless

    2006年,AWS发布了其第一个Serverless存储服务S3和第一个Serverful计算服务EC2,这也是AWS正式发布的前两个服务,开启了云计算波澜壮阔的旅程.2014年,AWS发布了业界第一 ...

  9. 从函数计算到 Serverless 架构

    前言 随着 Serverless 架构的不断发展,各云厂商和开源社区都已经在布局 Serverless 领域,一方面表现在云厂商推出传统服务/业务的 Serverless 化版本,或者 Serverl ...

随机推荐

  1. 「萌新指南」SOA vs. 微服务:What’s the Difference?

    实话实说,在我还没有实习之前,我是连 SOA 是啥都不知道的,只听说过微服务,毕竟微服务实在太火了,想不知道都难,我觉得实习的时候肯定也是微服务,进组之后发现是 SOA 架构,当时都懵了,看了很多文档 ...

  2. Redis-技术专区-帮从底层彻底吃透RDB技术原理

    每日一句 低头是一种能力,它不是自卑,也不是怯弱,它是清醒中的嬗变.有时,稍微低一下头,或者我们的人生路会更精彩. 前提概要 Redis是一个的键-值(K-V)对的内存数据库服务,通常包含了任意个非空 ...

  3. 发布日志 - kratos v2.0.4 版本发布

    V2.0.4 Release Release v2.0.4 · go-kratos/kratos (github.com) 新的功能 proto-gen-http 工具在生产代码时如果 POST/PU ...

  4. python variable scope 变量作用域

    python 中变量的作用域经常让我感到很迷 In Python, on the other hand, variables declared in if-statements, for-loop b ...

  5. Jetpack Compose学习(3)——图标(Icon) 按钮(Button) 输入框(TextField) 的使用

    原文地址: Jetpack Compose学习(3)--图标(Icon) 按钮(Button) 输入框(TextField) 的使用 | Stars-One的杂货小窝 本篇分别对常用的组件:图标(Ic ...

  6. AWS EC2 实例 SSH 无法登录故障

    文章链接 故障表现 在使用 jumperver 登录 AWS ec2 实例的时候发现 ssh 配合秘钥登录的时候无法登录, 具体报错如下: ssh -i /path/xx.pem user@10.0. ...

  7. Java调用腾讯云短信接口,完成验证码的发送(不成功你来砍我!!)

    一.前言 我们在一些网站注册页面,经常会见到手机验证码的存在,这些验证码一般的小公司都是去买一些大的厂家的短信服务,自己开发对小公司的成本花费太大了!今天小编就带着大家来学习一下腾讯云的短信接口,体验 ...

  8. Struts2 的 OGNL

    ONGL简介: OGNL 的全称是对象图导航语言( Object-Graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可以通过某种表达式语法,存 ...

  9. NOIP模拟50

    过分的神圣,往往比恶魔更加恶质. 前言 最大的一个收获就是不要动不动就码线段树,一定要审清楚题目之后再码!! T1 一开始理解错题了,以为答案是就是 \(\dfrac{\operatorname{le ...

  10. Vs code自动生成Doxygen格式注释

    前言 ​ 程序中注释的规范和统一性的重要性不言而喻,本文就推荐一种在用vscode编写代码时自动化生成标准化注释格式的方法,关于Doxygen规范及其使用可查看博文 代码注释规范之Doxygen. ​ ...