惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
Scott Helme
Scott Helme
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
Secure Thoughts
Google DeepMind News
Google DeepMind News
博客园_首页
Hacker News: Ask HN
Hacker News: Ask HN
量子位
Jina AI
Jina AI
I
InfoQ
V
V2EX
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
B
Blog
IT之家
IT之家
云风的 BLOG
云风的 BLOG
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
Cloudbric
Cloudbric
H
Heimdal Security Blog
TaoSecurity Blog
TaoSecurity Blog
S
Security @ Cisco Blogs
U
Unit 42
Project Zero
Project Zero
Webroot Blog
Webroot Blog
The Register - Security
The Register - Security
N
News | PayPal Newsroom
Microsoft Security Blog
Microsoft Security Blog
H
Help Net Security
Forbes - Security
Forbes - Security
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
C
Check Point Blog
博客园 - 聂微东
M
MIT News - Artificial intelligence
有赞技术团队
有赞技术团队
D
DataBreaches.Net
Cyberwarzone
Cyberwarzone
N
News and Events Feed by Topic
N
News and Events Feed by Topic
Simon Willison's Weblog
Simon Willison's Weblog
J
Java Code Geeks
G
Google Developers Blog
GbyAI
GbyAI
T
Threatpost

Serverless

大陆的 serverless 服务最近几年发展如何? 刷新下限?免费一个月也能说成每月免费 无服务架构方面,是 cf 的 workerd 还是 openfaas 纯容器堆栈版的方案好? - V2EX 国内能用真正按用量收费的 serverless 数据库 原来 serverless framework 只是一个开发者工具啊 请教大家访问数据库的接口用这东西怎么整? 求推荐学习基于 serverless, 最好是腾讯云的 cloudbase 开发的开源项目 几百万条更新频率很低的数据用什么低(零)成本的存储方便查询? - V2EX Cloudflare Workers 返回 request method、headers、body,用于开发自测请求信息 Cloudflare Workers 反向代理+跨域 6 月 19 日 周日,华为 Serverless 等你来捧场 为什么 JavaScript 在云服务商的 serverless functions 服务中几乎都有支持? V2EX AI 事件驱动场景 Serverless 实践 Knativa 基于流量的灰度发布和自动弹性实践 Serverless Wordpress 建站三部曲 Serverless 如何在阿里巴巴实现规模化落地? 一图看懂:腾讯云 Serverless 2020 年的突破与收获 创业公司用 Serverless,到底香不香? Serverless 是一种思想状态 - V2EX 都 2021 年了, Serverless 能取代微服务吗? 资源成本双优化!看 Serverless 颠覆编程教育的创新实践 Serverless 的价值 Serverless 在大规模数据处理的实践 5 大场景深度探讨何为 Serverless 架构模式? 人力节省 50%,研发效能提升 40%,阿里 Serverless 架构落地实践 一文搞懂函数计算及其工作原理 - V2EX Serverless 的初心、现状和未来 在线应用的 Serverless 实践 一文讲透 Serverless Kubernetes 容器服务 阿里 Midway 正式发布 Serverless v1.0 从单体迈向 Serverless 的避坑指南 为什么下一个十年的主战场在 Serverless? - V2EX 阿里云研究员叔同: Serverless 正当时! Serverless 架构下的服务优雅下线实践 Serverless Rap 一段有意思的 serverless Rap 视频 Serverless 安装 Laravel,flask,gin 等 web 框架,是否违背了它的使用场景? Serverless V2EX 客户端 国内有类似 Vercel 的平台吗? - V2EX 如何优雅地部署一个 Serverless Next.js 应用 - V2EX 如何将 Web 框架迁移到 Serverless - V2EX 现在各大云厂商都在推广的 Serverless 产品,和当初的 GAE/SAE/BAE,甚至是更早的“虚拟主机”,主要区别在哪? - V2EX 前端福音: Serverless 和 SSR 的天作之合 我又开始鼓捣 serverless 的无头浏览器了 - V2EX 基于 Serverless 与 Websocket 的聊天工具实现 Serverless 架构下, 3 分钟实现文本敏感词过滤 - V2EX Serverless Dashboard 设计解读与实战 现有的 Serverless 平台足够实时聊天的社区应用开发吗? - V2EX
Serverless 架构到底要不要服务器?
Serverlessor · 2021-01-14 · via Serverless

1.13 头图.jpg

作者 | aoho 来源 | Serverless 公众号

Serverless 架构是不是就不要服务器了?回答这个问题,我们需要了解下 Serverless 是什么。

Serverless 架构近几年频繁出现在一些技术架构大会的演讲标题中,很多人对于 Serverless,只是从字面意义上理解——无服务器架构,但是它真正的含义是开发者再也不用过多考虑服务器的问题,当然,这并不代表完全去除服务器,而是我们依靠第三方资源服务器后端,从 2014 年开始,经过这么多年的发展,各大云服务商基本都提供了 Serverless 服务。比如使用 Amazon Web Services(AWS) Lambda 计算服务来执行代码。

1.png

国内 Serverless 服务的发展相对 AWS 要晚一点,目前也都有对 Serverless 的支持。比较著名的云服务商有阿里云、腾讯云。它们提供的服务也大同小异:函数计算、对象存储、API 网关等,非常容易上手。

架构是如何演进到 Serverless ?

看看过去几十年间,云计算领域的发展演进历程。总的来说,云计算的发展分为三个阶段:虚拟化的出现、虚拟化在云计算中的应用以及容器化的出现。云计算的高速发展,则集中在近十几年。

2.png

总结来说有如下的里程碑事件:

  • 通过虚拟化技术将大型物理机虚拟成单个的 VM 资源。
  • 将虚拟化集群搬到云计算平台上,只做简单运维。
  • 把每一个 VM 按照运行空间最小化的原则切分成更细的 Docker 容器。
  • 基于 Docker 容器构建不用管理任何运行环境、仅需编写核心代码的 Serverless 架构。

从裸金属机器的部署应用,到 Openstack 架构和虚拟机的划分,再到容器化部署,这其中典型的就是近些年 Docker 和 Kubernetes 的流行,进一步发展为使用一个微服务或微功能来响应一个客户端的请求 ,这种方式是云计算发展的自然过程。

这个发展历程也是一场 IT 架构的演进,期间经历了一系列代际的技术变革,把资源切分得更细,让运行效率更高,让硬件软件维护更简单。IT 架构的演进主要有以下几个特点:

  • 硬件资源使用颗粒度变小
  • 资源利用率越来越高
  • 运维工作逐步减少
  • 业务更聚焦在代码层面

1. Serverless 架构的组成

Serverless 架构分为 Backend as a Service(BaaS) 和 Functions as a Service(FaaS) 两种技术,Serverless 是由开发者实现的服务端逻辑运行在无状态的计算容器中,它是由事件触发、完全被第三方管理的。

2. 什么是 BaaS?

Baas 的英文翻译成中文的含义:后端即服务,它的应用架构由大量第三方云服务器和 API 组成,使应用中关于服务器的逻辑和状态都由服务提供方来管理。比如我们的典型的单页应用 SPA 和移动 APP 富客户端应用,前后端交互主要是以 RestAPI 调用为主。只需要调用服务提供方的 API 即可完成相应的功能,比如常见的身份验证、云端数据 /文件存储、消息推送、应用数据分析等。

3. 什么是 FaaS?

FaaS 可以被叫做:函数即服务。开发者可以直接将服务业务逻辑代码部署,运行在第三方提供的无状态计算容器中,开发者只需要编写业务代码即可,无需关注服务器,并且代码的执行是由事件触发的。其中 AWS Lambda 是目前最佳的 FaaS 实现之一。

Serverless 的应用架构是将 BaaS 和 FaaS 组合在一起的应用,用户只需要关注应用的业务逻辑代码,编写函数为粒度将其运行在 FaaS 平台上,并且和 BaaS 第三方服务整合在一起,最后就搭建了一个完整的系统。整个系统过程中完全无需关注服务器。

Serverless 架构的特点

总得来说,Serverless 架构主要有以下特点:

  • 实现了细粒度的计算资源分配
  • 不需要预先分配资源
  • 具备真正意义上的高度扩容和弹性
  • 按需使用,按需计费

由于 Serverless 应用与服务器的解耦,购买的是云服务商的资源,使得 Serverless 架构降低了运维的压力,也无需进行服务器硬件等预估和购买。

Serverless 架构使得开发人员更加专注于业务服务的实现,中间件和硬件服务器资源都托管给了云服务商。这同时降低了开发成本,按需扩展和计费,无需考虑基础设施。

Serverless 架构给前端也带来了便利,大前端深入到业务端的成本降低,开发者只需要关注业务逻辑,前端工程师轻松转为全栈工程师。

Serverless 有哪些应用场景?

应用场景与 Serverless 架构的特点密切相关,根据 Serverless 的这些通用特点,我们归纳出下面几种典型使用场景:弹性伸缩、大数据分析、事件触发等。

1. 弹性伸缩

由于云函数事件驱动及单事件处理的特性,云函数通过自动的伸缩来支持业务的高并发。针对业务的实际事件或请求数,云函数自动弹性合适的处理实例来承载实际业务量。在没有事件或请求时,无运行实例,不占用资源。如视频直播服务,直播观众不固定,需要考虑适度的并发和弹性。直播不可能 24 小时在线,有较为明显的业务访问高峰期和低谷期。直播是事件或者公众点爆的场景,更新速度较快,版本迭代较快,需要快速完成对新热点的技术升级。

3.png

2. 大数据分析

数据统计本身只需要很少的计算量,离线计算生成图表。在空闲的时候对数据进行处理,或者不需要考虑任何延时的情况下。

4.png

  • 开发者编写代码,目前支持的语言 Java 、NodeJS 、Python 等语言;

  • 把代码上传到函数计算上,上传的方式有通过 API 或者 SDK 上传,也可以通过控制台页面上传,还可以通过命令行工具 Fcli 上传;

  • 通过 API&SDK 来触发函数计算执行,同样也可以通过云产品的事件源来触发函数计算执行;

  • 函数计算在执行过程中,会根据用户请请求量动态扩容函数计算来保证请求峰值的执行,这个过程对用户是透明无感知的;

  • 函数执行结束。

3. 事件触发

事件触发即云函数由事件驱动,事件的定义可以是指定的 http 请求,或者数据库的 binlog 日志、消息推送等。通过 Serverless 架构,在控制台上配置事件源通知,编写业务代码。业务逻辑添加到到函数计算里,业务高峰期函数计算会动态伸缩,这个过程不需要管理软硬件环境。常见的场景如视频、OSS 图片,当上传之后,通过进行后续的过滤、转换和分析,触发一系列的后续处理,如内容不合法、容量告警等。

小结

回到我们文章的开头,Serverless 架构不是不要服务器了,而是依托第三方云服务平台,服务端逻辑运行在无状态的计算容器中,其业务层面的状态则被开发者使用的数据库和存储资源所记录。

Serverless 无服务器架构有其适合应用的场景,但是也存在局限性。总得来说,Serverless 架构还不够成熟,很多地方尚不完善。Serverless 依赖云服务商提供的基础设施,目前来说云服务商还做不到真正的平台高可用。Serverless 资源虽然便宜,但是构建一个生产环境的应用系统却比较复杂。

云计算还在不断发展,基础设施服务日趋完善,开发者将会更加专注于业务逻辑的实现。云计算将平台、中间件、运维部署的责任进行了转移,同时也降低了中小企业上云的成本。让我们一起期待 Serverless 架构的未来。

参考:

  1. 阿里云文档
  2. https://blog.csdn.net/cc18868876837/article/details/90672971