简单概述Serverless

Serverless是计算的趋势,它使诸如Web应用程序之类的代码执行与维护服务器以运行该代码的需求脱钩。 创建,供应和维护服务器上运行的应用程序的操作开销(传统意义上)非常重要。 减少或消除这项工作可以帮助组织管理成本并为员工腾出时间。 Serverless还提供了创新的计费模型和更容易的可扩展性。

在《Serverless是什么?》中,作者Mike Roberts和John Chapin指出了使Serverless变得独一无二的核心见解:

使用完全Serverless的应用程序,您不再需要将架构的任何部分视为在主机上运行的资源。 您的所有逻辑(无论您是自己编写代码还是与第三方服务集成)都在完全弹性的操作环境中运行。 您的状态也以类似的弹性形式存储。 Serverless并不意味着服务器已经消失。 这意味着您不再需要担心它们。

Serverless可以归纳为:

  1. 是一种无服务器架构

  2. Baas(后端即服务)和Faas(函数即服务)的综合体

  3. 基于事件驱动的编程泛型

目前常见的业界产品有AWS Lambda、Google Cloud Functions、Azure Functions、IBM OpenWhisk、阿里云函数计算。随着容器技术,IoT,5G,区块链等技术的快速发展, 技术上对去中心化,轻量虚拟化,细粒度计算等技术需求愈发强烈,而Serverless必将借势迅速发展。

价值及影响

  • 低成本:运营成本和开发成本

  • 真正的按需付费

  • 高横向扩展

  • 只需要传统5%~15%的计算能力

  • NoOps

应用场景

  • 事件驱动及响应式架构

    • IoT物联网场景中低频需求

    • 请求对及时响应需求不强

    • 固定时间触发计算资源利用低的的业务

  • 流量突发场景

  • 跨云和混合云

  • 边缘计算

  • 代码运行周期短,长的不适合

不同风格的Serverless

Serverless技术有几种不同的版本。尽管AWS Lambda被视为启动这一运动的特定技术,但其他供应商提供了减少运营开销的平台。Serverless产品通常分为两种:

  • 后端即服务(BaaS)-BaaS提供了Serverless方法来处理诸如存储,身份验证和用户管理之类的事情。

  • 功能即服务(FaaS)-FaaS平台以离散的“功能”单元运行代码,并根据需要调用它们。

Serverless的API

最终用户可以使用API网关之类的云基础架构来构建可根据需要调用的整个服务,而不必不断监听。云提供商会将传入的请求路由到正确的Serverless功能,该功能将完成工作并将响应写回最终用户。

这样就可以开发仅在使用时才收费的API,并且可以通过最小的更改大规模扩展。 Slobodan Stojanovic和Aleksandar Simovic的书《使用Node.js的Serverless应用程序》提供了一个示例,说明了为什么要对API使用Serverless:

要了解Serverless,请考虑一下洗衣机。洗衣服的设备听起来像是一个疯狂的起点,但是如今拥有一台服务器类似于拥有一台洗衣机。每个人都需要干净的衣服,最合乎逻辑的解决方案似乎是购买洗衣机。但是大多数时候,洗衣机都插上电源,什么也不做。最多每周使用5到15个小时。服务器也是如此。大多数情况下,您的普通应用服务器只是在等待接收请求,什么也不做。

Serverless存储

传统上,管理Web应用程序的数据存储一直是操作应用程序中最困难的部分之一,而数据库管理有时看起来像是一门绝技。但是,Serverless数据存储(如Firebase和Aurora)的引入使开发人员不必担心优化实例类型,执行备份以及其他可操作的数据库问题。

相反,云提供商将为最终用户处理托管数据存储的事宜。提供者经常具有按需付费的计费模型。默认情况下,数据存储速度很快,并且通常具有吸引开发人员的灵活性,例如缺少预定义的架构。

Serverless云事件

在云环境中,应用程序在诸如Amazon Web Services之类的平台中诞生并终生存在。这与更“传统”的应用程序形成对比,这些应用程序可能旨在在自营数据中心的通用商品硬件上运行。由于基于云的应用程序在更高的抽象级别上运行,因此它们也可以与“事件”一起使用,这些事件可以通知最终用户抽象化基础架构中正在发生的事情,从而避免了从较低层次的文件系统中找出问题的负担。蜜蜂。当工程师需要对云平台上发生的事件做出反应时,Serverless才真正发挥作用。作为提高云事件效率的一个示例,开发人员可能希望在将新文件推送到S3存储桶时执行某些操作,例如修改其尺寸并将新文件发布到其他地方。

通过将云提供商的本机抽象用于这些事件,可以大大减轻开发和部署负担。这允许具有创造性的新架构,这些架构可以很好地扩展,甚至可以编织到大数据转换管道中。可以在Peter Sbarski的AWS上的Serverless架构中找到使用S3事件的示例。

其他Serverless用例

Symphonia的联合创始人Mike Roberts在接受采访时说,Serverless还具有其他用例。例如,可以被建模为一组异步“实时”(即比人类感知的速度更快)事件的任何系统都可以受益于使用Serverless快速响应所有这些事件。对于请求模式不一致的用例,例如webhooks,这可能会派上用场。 Webhook可能不会经常触发,但是当它发生时,让Serverless功能执行工作而不是服务器上的进程来全天候保留计算能力可能会为企业带来巨大的成本和运营节省。

公司喜欢尝试Serverless的一个领域是操作和与呼叫相关的自动化。警报,自动缩放,响应用户消息的聊天机器人,以及所有这些都适合于非对称调用的工作环境,这些工作很有用,但由于并不直接面向最终用户,因此可以进行试验。一旦证明这些系统成功,公司可能会更愿意推出面向用户的服务

何时使用Serverless

Serverless必须提供的最大好处之一是它能够减少将某些产品推向市场所需的时间。 不必过多担心订购和配置服务器,可以使工程师解放精力,专注于其他任务,例如快速交付软件。 同样,随着Serverless产品继续在堆栈中向上移动,使Web应用程序更易于组合在一起,可以大大减少人工成本,因为需要编写和维护的代码更少。

减少劳力不仅可以直接带来金钱上的收益,还可以带来更快乐,更有生产力的开发商。 当开发人员知道从构思到生产的想法可能会遇到更少的绊脚石和操作负担时,可能会交付更多的软件,并且更有可能生产出更好的产品。

Serverless的障碍

Serverless是一种相对较新的技术,最佳实践仍在完善中。因此,Serverless非常适合那些有前瞻性思维的人,他们不介意袖手旁观,并且对歧义和风险感到满意。

Serverless新手应该注意的一个特定领域是其不可预测的使用模型。使用AWS EC2之类的传统设置的账单费用更具可预测性,因为该费用基于提前知道的大多数事情,例如实例类型,运行多少小时以及带宽使用情况。另一方面,Serverless对水平可伸缩性有很高的限制,这使得扩展更容易,但也使计费费用的积累变得更加容易。同样,调用Serverless功能可能很便宜,将其输出写入日志实用程序的成本最终可能会比预期更快地产生高成本。例如,随着AWS Lambdas向其写入日志,AWS CloudWatch日志记录成本将迅速增加。如果第三方监视工具(例如Datadog)也从CloudWatch摄取此数据,则可能会产生进一步的费用。

最后,了解Serverless供应商的实际承诺可能很模糊。对于传统服务器,事先就可以很好地了解有关分配给计算机的可用性和资源的协议,并在合同中进行了详细说明。在Serverless的情况下,冷启动时间,错误的函数调用以及其他“陷阱”可能潜伏在角落。这些最终可能会破坏您的预期用例。例如,迈克·罗伯茨(Mike Roberts)表示,要求亚毫秒级响应时间的应用程序仍然不是当今大多数Serverless产品的理想选择。像任何新的范例一样,明确的期望和解决缺陷的方法可能会随着时间而逐渐成熟,但是目前,Serverless用户只能自己进行试验。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,039评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,223评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,916评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,009评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,030评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,011评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,934评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,754评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,202评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,433评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,590评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,321评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,917评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,568评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,738评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,583评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,482评论 2 352

推荐阅读更多精彩内容