原文 - 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 的承诺都兑现了吗的更多相关文章

  1. AngularJs $q 承诺与延迟

    $q 一个帮助处理异步执行函数的服务.当他们做完处理时,使用它们的返回值(或异常). 受 Kris Kowa’s Q 的启发,这是一个实现promise/deferred对象的启用. $q的两种方式- ...

  2. Serverless 架构:用服务代替服务器

    Serverless 架构:用服务代替服务器 转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究.如需 加入微信群参与微课堂.架构设计与讨论直播请直接回复此公众号:&q ...

  3. vijos P1375 大整数(高精不熟的一定要做!)

    /* 我尼玛这题不想说啥了 亏了高精写的熟..... 加减乘除max都写了 高精二分 */ #include<iostream> #include<cstdio> #inclu ...

  4. Angular - - $q 承诺与延迟

    $q 一个帮助处理异步执行函数的服务.当他们做完处理时,使用它们的返回值(或异常). 受 Kris Kowa’s Q 的启发,这是一个实现promise/deferred对象的启用. $q的两种方式- ...

  5. AngularJS 承诺 Promise

    一.概念解释 全称是未来与承诺,Futures and promises,是一种编程模式,不是AngularJS首创.javascript里有个流行库Q,而AngularJS是$q,其就是从Q引入的: ...

  6. (转)不看绝对后悔的Linux三剑客之sed实战精讲

    不看绝对后悔的Linux三剑客之sed实战精讲 原文:http://blog.51cto.com/hujiangtao/1923718 二.Linux三剑客之sed命令精讲 1,前言 我们都知道,在L ...

  7. 当我们在聊 Serverless 时你应该知道这些

    作者 | 杨泽强(竹涧)阿里云技术专家 说起当前最火的技术,除了最新的区块链.AI,还有一个不得不提的概念是 Serverless.Serverless 作为一种新型的互联网架构,直接或间接推动了云计 ...

  8. [转]Serverless

    说起当前最火的技术,除了最新的区块链,AI,还有一个不得不提的概念是Serverless.Serverless作为一种新型的互联网架构直接或间接推动了云计算的发展,从AWS Lambda到阿里云函数计 ...

  9. 5 大场景深度探讨何为 Serverless 架构模式?

    作者 | Hongqi 阿里云高级技术专家 究竟什么是 Serverless 架构? 什么是 Serverless 架构?按照 CNCF 对 Serverless 计算的定义,Serverless 架 ...

  10. 4 个场景揭秘,如何低成本让容器化应用 Serverless 化?

    作者 | changshuai FaaS 的门槛 Serverless 形态的云服务帮助开发者承担了大量复杂的扩缩容.运维.容量规划.云产品打通集成等责任,使得开发者可以专注业务逻辑.提高交付速度 ( ...

随机推荐

  1. 大语言模型的预训练[5]:语境学习、上下文学习In-Context Learning:精调LLM、Prompt设计和打分函数设计以及ICL底层机制等原理详解

    大语言模型的预训练[5]:语境学习.上下文学习In-Context Learning:精调LLM.Prompt设计和打分函数(Scoring Function)设计以及ICL底层机制等原理详解 1.I ...

  2. C/C++ 提权与强制卸载DLL

    权限提升 #include <Windows.h> #include <stdio.h> BOOL SetPrivilege(LPCTSTR lpszPrivilege, BO ...

  3. LeetCode刷题日记2020/8/24

    题目描述 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000. 示例 1: 输入: "abab" 输出: Tr ...

  4. 基于AvaloniaUI开发跨平台.NET三维应用:环境搭建

    本文介绍在Vistual Studio 2022中使用Avalonia和集成AnyCAD AvaloniaUI三维控件的的过程. 目录 0 初始化环境 1 创建项目 2 集成AnyCAD Avalon ...

  5. HarmonyOS 实战小项目开发(二)

    HarmonyOS 实战小项目开发(二) 日常逼逼叨 在上期实战项目一中,已经对于练手项目的背景,后端搭建等做了一定的简述,那么本期将结合HarmonyOS 页面搭建个人性格测试的移动端.如有一些错误 ...

  6. [Ngbatis源码学习][SpringBoot] ApplicationContextInitializer接口类的使用和原理解读

    ApplicationContextInitializer接口类的使用和原理解读 在看Ngbatis源码的过程中,看到了自定义的ApplicationContextInitializer实现类,对Ap ...

  7. JS 数组中找到与目标值最接近的数字,记一次工作中关于二分查找的算法优化

    壹 ❀ 引 在最近的工作中,有一个任务是需要修复富文本编辑器字号显示的BUG.大概情况就是,从WPS中复制不同样式的标题.正文到到项目编辑器中,发现没办法设置选中的文本为正文:而且字体字号都显示为默认 ...

  8. NC50614 取石子游戏 1

    题目链接 题目 题目描述 有一种有趣的游戏,玩法如下: 玩家:2人: 道具:N颗石子: 规则: 游戏双方轮流取石子:每人每次取走若干颗石子(最少取1颗,最多取K颗):石子取光,则游戏结束:最后取石子的 ...

  9. npm无法安装node-sass 的问题

    安装 node-sass 的问题呈现:4.9.0版本无法下载 Downloading binary from https://github.com/sass/node-sass/releases/do ...

  10. Swoole从入门到入土(12)——HTTP服务器[Response]

    继上一节了解完请求对象之后,这一节我们着重了解响应对象(Response).响应对象主要用于将数据发现到客户端.当 Response 对象销毁时,如果未调用 end 发送 HTTP 响应,底层会自动执 ...