藏经阁2.0全新上线!下载本地、线上阅读让你轻松获取技术知识。为了让更多人学习到藏经阁中的优秀技术作品,培养好的阅读习惯,“藏经阁一起读”活动来啦,你阅读,我奖励!
阅读地址:https://developer.aliyun.com/ebook/7856
书籍简介:当下 Serverless 技术已经成为所有企业和开发者的首选之一,随着 Serverless 的发展,应用的架构设计、开发的工作范式都发生了改变。希望通过这本 Serverless 案例集,可以让大家了解到现代企业是如何进行 Serverless 转型,提升研发效能、降低运营成本的,其中既有大家耳熟能详的互联网公司,也包含了金融、制造、传媒、医疗等传统企业,以及各类中小企业。
活动规则:阅读书籍,将你对于本书的想法、收获等在评论区留言,评论不少于200字,将选取评论质量最高的前3名送出小米鼠标lite一个。
活动时间:2022年12月26日~12月30日14:00
参与用户务必扫码加入钉群,第一时间了解活动进展、获取得奖信息。
我最初接触Serverless是在阿里云上看了一段视频,前几天在群里看了云原生Serverless专场直播,今天又拜读了《阿里云云原生 Serverless 案例集》这本书,受益匪浅。 Serverless中文意思是“无服务器”,是说开发者再也不用过多考虑服务器的问题,可以更专注在产品代码上,计算资源开始作为服务出现,而不是作为服务器的概念出现。 简单讲就是Serverless Computing,由 FaaS + BaaS(Backend as a Service)构成一个 Serverless 软件架构。特点就是能够按需弹性、按需付费。 狭义 Serverless(最常见)= Serverless computing 架构 = FaaS 架构 = Trigger(事件驱动)+ FaaS(函数即服务)+ BaaS(后端即服务,持久化或第三方服务)= FaaS + BaaS。 广义 Serverless = 服务端免运维 = 具备 Serverless 特性的云服务。 Serverless架构就是有Baas和Faas组成。 Serverless 特别适合于,轻量级快速变化地 API。 在各个行业,无论是后台服务,还是REST API都可以部署到Serverless平台上。尤其是Serverless音视频处理、轻量ETL(低门槛数据分析/处理)、事件驱动、任务跑批、应用托管、微服务容器化等场景。 在Serverless平台上有非常多的应用case,比如,如果想要做微服务或者容器化转型,期望降低运维复杂度的同时,也能具备弹性伸缩、便捷发布的能力,就可以直接把服务部署到Serverless应用引擎。 在Web及移动端服务中,可以整合API网关和Serverles服务构建Web及移动后端,帮助开发者构建可弹性扩展、高可用的移动或 Web后端应用服务,只需编写业务代码即可快速搭建云原生的 Web 应用,有效提高上线迭代效率,降低运维成本。 在IoT场景下可高效的处理实时流数据,由设备产生海量的实时信息流数据,通过Serverles服务分类处理并写入后端处理。 Serverless的优势: 开发者只需专注代码开发,无需在各个云资源控制台手动开通服务和配置管理,并能够根据业务请求自动进行弹性伸缩;支持用户按需付费,成本较低;开发周期快,很大程度上提升了开发、部署的效率。 Serverless 在云原生上封装了容器技术,是云原生的高级阶段。 用 FC 替代了 Web 服务器,但是换来的是免运维,弹性扩容,按需付费等一系列优点。 弹性伸缩:Serverless 架构的弹性伸缩更自动化、更精确,可以快速根据业务并发扩容更 多的实例,甚至允许缩容到零实例状态来实现零费用,对用户来说是完全无感知的。而传统 架构对服务器(虚拟机)进行扩容,虚拟机的启动速度也比较慢,需要几分钟甚至更久。预留实例系统不自动回收,可长驻不销毁,消除冷启动带来的延时毛刺。 计费方式: 在Serverless 架构中,计费方式按实际使用量计费(比如函数调用次数、运 行时长),不按传统的执行代码所需的资源计费(比如固定 CPU)。计费粒度也精确到了毫 秒级,而不是传统的小时级别。个别云厂商推出了每个月的免费额度,中小企业的网站访问量不 是特别大的话完全可以免费使用。 Serverless本质并不是不需要服务器,而是将服务器全权托管给了云厂商,用户不用去关心,不用去管理,只用把业务部署到平台上来,只需聚焦业务逻辑代码,能够根据实际请求进行弹性伸缩,不用再去关心资源够不够。 开发者可以直接把镜像或者代码包部署到 Serverless 计算平台上来,省去了整个资源的购买和环境部署这个过程。部署上来之后呢,后端可以跟存储、数据库进行交互,构成完整的 Serverless 架构。之后通过像 LB 或者 HTT 的方式,直接去访问到业务代码,平台会根据用户的请求去做调度和弹性伸缩。Serverless 平台支持负载均衡,应对各种突发流量,用户不用去关心后台资源。 Serverless的缺点:Serverless 在请求到来时才运行。这意味着,当应用不运行的时候就会进入 “休眠状态”,下次当请求来临时,应用将会需要一个启动时间,即冷启动时间。如果你的应用需要一直长期不间断的运行、处理大量的请求,那么你可能就不适合采用 Serverless 架构。 完全依赖于第三方服务,当你所在的企业云环境已经有大量的基础设施的时候,Serverless 对于你来说,并不是一个好东西。当我们采用某云服务厂商的 Serverless 架构时,我们就和该服务供应商绑定了,那么我们再将服务迁到别的云服务商上就没有那么容易了,我们需要修改一下系列的底层代码,能采取的应对方案,便是建立隔离层。这意味着,在设计应用的时候,就需要隔离 API 网关、隔离数据库层,考虑到市面上还没有成熟的 ORM 工具,让你既支持Firebase,又支持 DynamoDB等等。这些也将带给我们一些额外的成本,可能带来的问题会比解决的问题多。 Serverless 是如何工作的:Serverless 应用本质上是由一个个 FaaS 函数组成的,Serverless 应用的每一次运行,其实是单个或多个函数的运行,所以 Serverelss 的运行原理,本质上就是函数的运行原理。 Serverless 的未来会大面积取代Serverful,变为默认的计算范式,加速运维关系的变化,运维同学会从资源运维,逐步走向业务运维。 Serverless架构让人们不再操心运行所需的资源,只需关注自己的业务逻辑,并且为实际消耗的资源付费。可以说,随着Serverless架构的兴起,真正的云计算时代才算到来了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。