精贴总结 - Serverless 的承诺都兑现了吗
原文 - Serverless 的承诺都兑现了吗?
一、个人看法
- serverless根本目的是降低成本,所以baas是核心
- 冷启动是关键的技术难点,也限制了faas的作用域
- 供应商锁定是个坑,标准化,可以解决这个问题
- faas表明代码实现的功能是有限制的,不适合做大规模的业务开发,适合少数通用、逻辑相对简单的基础服务
- AWS逐步将绝大部分服务serverless化,学习和使用amazon lamdba是个捷径
- serverless是云计算的必然趋势,符合降低成本的原始诉求
- 云厂商定制服务器芯片是未来必然趋势,对intel是个巨大打击,云厂商与苹果类似,逐步实现软硬件垄断
二、文章总结
1. 背景
- 2009,加州大学伯克利分校,论文 《The Berkeley View on Cloud Computing》,正确预测了接下来十年的云计算演进和普及
- Ken Fromm发布论文Why The Future Of Software And Apps Is Serverless
- 2014,Amazon 发布Lambda,谷歌、微软入局
- 2019,伯克利又发布论文 《A Berkeley View on Serverless Computing》,预言未来“无服务器计算将会发展成为未来云计算的主要形式”
- 2021,半数AWS新用户采用lambda,亚马逊占据50%的serverless份额
2. 定义
- “无服务器”一词并不意味着不再涉及服务器,它只是意味着开发人员不再需要考虑那么多的物理容量或其他基础设施资源管理责任。通过消除后端基础设施的复杂性,无服务器让开发人员将注意力从服务器级别转移到任务级别
- 简而言之:开发同学,专注业务,不用关心服务器资源等
- 亚马逊定义:用户无需预置或管理基础设施即可运行代码,只需编写代码并将其作为【.zip或容器镜像】上传即可
3. 特点与优势
- 服务治理,让云服务来做
- 开发无感知自动扩容,从0到正无穷
- 按函数执行次数收费,云服务提供方省资源,使用方省钱
- 云服务方提供深度抽象的服务接口,极大简化云编程,注意是云编程,用的可能是web ide
4. 争议
- 编程语言限制:云服务方提供深度抽象的服务接口,语言种类肯定有限制
- 供应商锁定风险:云服务方提供深度抽象的服务接口,没法多厂商通用【未来会不会有个标准化组织?】
- 冷启动问题:启动时候要加载慢,预热资源可能变冷
5. Amazon lamdba

- serverless不等于lamdba,但是成为实际上的代名词
- 提供Runtime API支持各种语言,超时时间可以提高到15分钟,内存10G,最多可以使用6个vCPU
- 2016,step function:组合多个lamdba,将复杂代码转为低代码、事件驱动的工作流
- 2017,并发数提升到1000倍,分布式跟踪工具X-Ray
- 2018,aurora,RDBMS也具备serverless特性,dynamoDB【nosql】、TimeStream【时许db】、Keyspace【cassandra】、QLDB【分类账数据库】也支持,aurora可以再一秒内将db负载从数百个事务扩展到数十万个,峰值成本降低90%【serverless本质还是:降低自己和客户的成本,提高产品竞争力】
- 2019,eventBridge,serverless的总线服务,作为多种serverless服务的集中式枢纽
- 2021,lamdba计费功能调整到1ms,提供镜像支持,支持Graviton【自研的云端芯片基于ARM架构】,降低成本
6. 冷启动
- 2019,lambda,预置并发,两位数毫秒内能初始化并准备好,是个里程碑的技术节点
- 热启动:从前一个事件中重用lamdba函数的实例及其宿主容器
- 冷启动:创建一个新的实例,启动主进程,与原有程序完全隔离
- 预置并发:让函数保持初始化状态,精确地控制启动延迟,用户可以指定多少个实例,lamdba确保始终有该数量的预热实例等待工作
7. 无服务的未来
- AWS逐步把大部分的服务都转为serverless模式,从计算、存储、DB,扩展到数据分析、机器学习上了
- 芯片转为ARM,性能提高1倍,价格降低20%
精贴总结 - Serverless 的承诺都兑现了吗的更多相关文章
- AngularJs $q 承诺与延迟
$q 一个帮助处理异步执行函数的服务.当他们做完处理时,使用它们的返回值(或异常). 受 Kris Kowa’s Q 的启发,这是一个实现promise/deferred对象的启用. $q的两种方式- ...
- Serverless 架构:用服务代替服务器
Serverless 架构:用服务代替服务器 转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究.如需 加入微信群参与微课堂.架构设计与讨论直播请直接回复此公众号:&q ...
- vijos P1375 大整数(高精不熟的一定要做!)
/* 我尼玛这题不想说啥了 亏了高精写的熟..... 加减乘除max都写了 高精二分 */ #include<iostream> #include<cstdio> #inclu ...
- Angular - - $q 承诺与延迟
$q 一个帮助处理异步执行函数的服务.当他们做完处理时,使用它们的返回值(或异常). 受 Kris Kowa’s Q 的启发,这是一个实现promise/deferred对象的启用. $q的两种方式- ...
- AngularJS 承诺 Promise
一.概念解释 全称是未来与承诺,Futures and promises,是一种编程模式,不是AngularJS首创.javascript里有个流行库Q,而AngularJS是$q,其就是从Q引入的: ...
- (转)不看绝对后悔的Linux三剑客之sed实战精讲
不看绝对后悔的Linux三剑客之sed实战精讲 原文:http://blog.51cto.com/hujiangtao/1923718 二.Linux三剑客之sed命令精讲 1,前言 我们都知道,在L ...
- 当我们在聊 Serverless 时你应该知道这些
作者 | 杨泽强(竹涧)阿里云技术专家 说起当前最火的技术,除了最新的区块链.AI,还有一个不得不提的概念是 Serverless.Serverless 作为一种新型的互联网架构,直接或间接推动了云计 ...
- [转]Serverless
说起当前最火的技术,除了最新的区块链,AI,还有一个不得不提的概念是Serverless.Serverless作为一种新型的互联网架构直接或间接推动了云计算的发展,从AWS Lambda到阿里云函数计 ...
- 5 大场景深度探讨何为 Serverless 架构模式?
作者 | Hongqi 阿里云高级技术专家 究竟什么是 Serverless 架构? 什么是 Serverless 架构?按照 CNCF 对 Serverless 计算的定义,Serverless 架 ...
- 4 个场景揭秘,如何低成本让容器化应用 Serverless 化?
作者 | changshuai FaaS 的门槛 Serverless 形态的云服务帮助开发者承担了大量复杂的扩缩容.运维.容量规划.云产品打通集成等责任,使得开发者可以专注业务逻辑.提高交付速度 ( ...
随机推荐
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-37-如何截图-上篇
1.简介 这个系列的文章也讲解和分享了差不多三分之一吧,突然有小伙伴或者童鞋们问道playwright有没有截图的方法.答案当然是:肯定有的.宏哥回过头来看看确实这个非常基础的知识点还没有讲解和分享. ...
- 【三】多智能体强化学习(MARL)近年研究概览 {Analysis of emergent behaviors(行为分析)_、Learning communication(通信学习)}
相关文章: [一]最新多智能体强化学习方法[总结] [二]最新多智能体强化学习文章如何查阅{顶会:AAAI. ICML } [三]多智能体强化学习(MARL)近年研究概览 {Analysis of e ...
- 6.3 Windows驱动开发:内核枚举IoTimer定时器
今天继续分享内核枚举系列知识,这次我们来学习如何通过代码的方式枚举内核IoTimer定时器,内核定时器其实就是在内核中实现的时钟,该定时器的枚举非常简单,因为在IoInitializeTimer初始化 ...
- PE格式:VA地址与FOA地址
PE格式是 Windows下最常用的可执行文件格式,理解PE文件格式不仅可以了解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,而有些技术必须建立在了解PE文件格式的基础上,如 ...
- node版本控制工具nvm安装教程
一.安装nvm 查看node对应NPM:https://nodejs.org/en/about/previous-releases 1.卸载node,后删除node文件夹里的所有内容 2:安装nvm管 ...
- webpack与其常见loader加载器使用方式
webpack是什么 webpack是前端项目工程化的具体解决方案. 主要功能:提供了友好的前端模块化开发支持,支持代码压缩混淆(去除空格和注释,让文件体积更小),处理浏览器端JS的兼容性(将箭头函数 ...
- gitee 命令合集(从远程仓库拉取项目到推送项目到远程仓库)
1.配置用户的信息 git config --global user.name '你的用户名' git config --global user.email '你的邮箱' 2.初始化 Git 仓库,生 ...
- 【栈和队列】纯C实现栈和队列以及其基本操作-宝藏级别数据结构教程【保姆级别详细教学】
[栈和队列]栈和队列的C语言实现-宝藏级别数据结构教程-超详细的注释和解释 先赞后看好习惯 打字不容易,这都是很用心做的,希望得到支持你 大家的点赞和支持对于我来说是一种非常重要的动力 看完之后别忘记 ...
- 【奶奶看了都会】ComfyUI+SVD制作AI视频教程,附效果演示
AI一天,人间一年 大家好啊,我是小卷,最近AI绘画又发展出一些新玩意了,小卷因为工作的关系有一个月没关注AI的发展了,都有点跟不上版本节奏了... 1.comfyui的使用效果 今天给大家介绍下AI ...
- AI自动生成视频保姆级教程,还能赚包辣条哦~
友友们,小卷今天给大家分享下如何通过AI自动生成视频,只需要3分钟就能做出一个视频,把视频发到B站.抖音.西瓜上,还能赚包辣条哦~ 文末给大家准备了AI变现的案例及AIGC知识库,记得领取哦! 1.收 ...