[翻译]serverless是什么

原文:https://www.redhat.com/en/topics/cloud-native-apps/what-is-serverless

概述

serverless是一个云原生开发模型,它使得开发者无需管理服务器的情况下能够构建以及运行应用。
serverless中仍然有服务器,但是服务器已经从应用开发中抽象出来。通常由云提供商处理服务器的配置、维护、扩展等常规工作。开发者仅仅简单的将代码打包到容器中进行部署即可。
部署完成后,serverless应用会根据需要自动进行扩容以及缩容。来自于公有云serverless利用事件驱动模型来进行按量收费。当serverless函数空闲时,是没有费用的。

serverless架构一览

serverless应用和其他云计算应用的区别是,云提供商负责云基础设施以及serverless应用的扩缩容。部署在容器中的serverless应用根据需要进行启动。
在标准的Iaas云计算模型下,用于需要预先购买资源。对于应用的扩缩容是由用户负责。即使应用不被使用,云基础设施也需要让应用运行。
相反的,serverless架构是按需启动的。当一个事件触发代码运行,那么公有云提供商会动态的分配资源,从而运行代码。代码结束运行后,用户就没有费用。除了费用和效率的好处,serverless也将开发者从服务器配置以及应用扩展中解脱了出来。
在serverless中,管理操作系统,文件系统,系统安全补丁,负载均衡,容量管理,扩容,日志以及监控等常规工作都由云服务商进行提供。
构建一个完全的serverless应用是完全可能的,或者构建一个部分是serverless,部分是传统的微服务模型的应用。

云提供商的角色

在serverless模型下,云提供商运行物理服务器,并且可以代码用户动态分配资源。
serverless计算通常分为两组,BaaS和FaaS
BaaS让开发者能够获取大量的第三方服务和应用。例如,云提供商可以提供认证服务,加密服务,云数据库。在BaaS中,serverless函数常常被称为APIs
通常情况下,当开发者提到serverless时,他们谈论的是FaaS。在FaaS下,开发者仍然需要编写特定的服务端逻辑,但是代码运行在由云提供商提供的容器中。
大量的公有云提供商提供了很多FaaS产品。包括AWS的AWS Lambda、Azure的Azure Functions、谷歌云的多个产品、IBM云的IBM Cloud Functions。
一些组织选择开源的serverless平台来运行他们的FaaS环境,包括Red Hat的 OpenShift Serverless,它是建立在k8s的Knative项目上。

FaaS是什么

FaaS是一种事件驱动的计算执行模型,开发者编写逻辑,然后运行在由平台完全管理的容器中,按需执行逻辑。
相比于BaaS,FaaS给开发者提供了更大的自由度,开发者能够自己编写应用,而不是依赖已有编写好的应用。
代码在由云厂商提供的容器中运行。特别的,这些容器有以下特点:

  • 无状态,从而使得数据完整性更加简单
  • 短暂性,允许应用能够运行特别短的时间
  • 事件触发,应用能够根据需要自动运行
  • 完全由云厂商管理,你仅仅只需要支付你需要的,而不需要支付服务器等

具体使用案例

serverless架构是异步的、无状态应用理想架构,这些应用能够立即启动。同样的,serverless同样适合哪些不可预测消耗的应用。
设想类似于一种处理图片文件的批处理任务,可能不经常运行,但是当一批图片文件来到时,必须立即处理。或者类似时刻关注对于数据库的变化有任务需要运行的应用。
无服务器应用程序也非常适合涉及传入数据流、聊天机器人、计划任务或业务逻辑的用例。
其他一些serverless常见的用例,比如后端API和web应用,serverless 王章等。

Knative和serverless kubernetes是什么

k8s作为运行容器应用的编排设施,那么作为运行serverless环境的平台也不足为奇了。但是k8s没有做好原生的运行serverless 应用的准备。
Knative是一个开源社区项目,它在k8s中增加了部署、允许、管理serverless应用的组件。
Knative serverless环境能够让你将代码部署到k8s平台中。利用Knative,可以将代码打包为镜像,然后提交到系统上,从而创建服务。Knative能够按需启动和关闭你的代码。
Knative由三个主要部分组成:

  • Build - 将源代码构建到容器中的灵活方法
  • Serving - 根据请求需要,能够快速的部署以及自动扩展容器。
  • Eventing - 一种触发应用的基础设施,能够消费以及产生事件。应用能够被各种源触发,例如来自应用的事件、来自云服务的事件等。
    不像早期的serverless框架,Knative是专门用来部署现代应用的,包括从单体应用到微服务应用。
    Knative能够替代FaaS,而FaaS一般是由专门的云厂商来提供的。Knative能够运行在任何运行k8s的云平台上。

优势与劣势

优势

  • serverless计算能够提高开发者的工作效率并且能够降低运维成本。将管理机器、配置等常规工作交给底层平台后,开发者能够更加专注于应用。
  • serverless提高了DevOps的使用,因为它降低了开发者描述基础设施的需要
  • 通过整合来自第三方BaaS产品,能够简化应用的开发
  • 采用serverless模型能够降低运营成本,因为你只需要为计算时间而付费,不需要一直管理服务。

劣势

  • 不将应用放到自己的服务器运行或者不能控制服务端逻辑会有缺点
  • 云提供商可能对于组件的集成有严格的限制,这会影响到应用的灵活性。在BaaS环境中,开发者可能会对不在控制范围的服务负有责任
  • 放弃这些控制,会导致绑定到特定供应商上。更换云供应商可能会导致升级系统从而满足新供应商的要求,而这会增加成本。

serverless的发展

serverless架构和FaaS随着容器以及云产品的流行而发展。
serverless 1.0 阶段有一些限制,使得它不适合通用计算。serverless 1.0 有如下特点:

  • HTTP and few other sources
  • Functions only
  • Limited execution time (5-10 minutes)
  • No orchestration
  • Limited local development experience

k8s的出现引领了serverless 1.5时代,serverless 1.5有如下特点:

  • Knative
  • Kubernetes-based auto-scaling
  • Microservices and functions
  • Easy to debug and test locally
  • Polyglot and portable

当前,serverless2.0正在到来,云提供商已经开始添加缺少的部分,以使无服务器适合通用业务工作负载。serverless 2.0有如下特点:

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

推荐阅读更多精彩内容