摘要:Everything is Serverless。

在众多云计算解决方案中,Serverless 逐渐崭露头角,受到了很多关注并且发展迅猛,今天就关于serverless 开源框架细说二三。

什么是serverless computing

  • serverless computing = FaaS (Function as a Service) + BaaS (Backedn as a Service)
  • serverless是云原生应用的业务需求,是云计算形态的进一步发展,是云计算的下一代计算范式,Everything is Serverless

无服务器和传统云计算之间的三个基本区别是:

  • 解耦计算和存储;它们分别缩放并独立定价, 通常存储由独立服务提供,计算是无状态的
  • 执行一段代码而不是分配执行代码的资源的抽象。用户提供一段代码,云端自动配置资源来执行代码(NoOPS,传统云计算是devops)
  • 支付代码执行费用(Pay as you Run, 传统云计算是Pay as You Use),而不是支付为执行代码分配的资源。比如按执行时间计费,而不是按分配的虚机大小数量计费

Serverless 典型产品

函数服务主要开源项目

开源项目对比

ServerLess 框架比较

使用场景

架构

以AWS为例

两条支持异构硬件的路径

  • Serverless 包含多种实例类型,不同的硬件使用不同的价格
  • 提供商自动选择基于语言的加速器和DSA(Domain Specific Architecture),比如GPU硬件用于CUDA代码,TPU硬件用于TensorFlow代码(对于python或者js等高级语言,软硬件co-design提供language specific 处理器; 对于编译型语言,编译器应该建议使用何种硬件架构)

当前技术局限

挑战

  • 计算抽象(屏蔽计算资源,解决数据依赖)
  • 系统使能(函数状态的高速存储,函数间高速信令,函数极速启动)
  • 安全性 (应用级隔离,分布式安全)
  • 适应性 (异构硬件使能,微服务演进)
  • 成本不可以预测: 需要提供成本预测能力
  • 容易产生Vendor lock-in: 需要提供API标准规范,类似POSIX为操作系统做的事情,Google的Knative project在向这个方向努力

预测

Serverless将成为云时代默认的计算范式,基于Serverless的应用将激增, on-promises应用由于监管约束和数据治理规则将长期存在,但是随着时间的推移会逐渐减少

本文分享自华为云社区《serverless 开源框架对比》,原文作者:Leo Xiao。

点击关注,第一时间了解华为云新鲜技术~

Everything is Serverless,从开源框架对比说起的更多相关文章

  1. Python六大开源框架对比:Web2py略胜一筹

    Python是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还自带 ...

  2. Python六大开源框架对比:Web2py略胜一筹(转)

    Python是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还自带 ...

  3. 文字识别OCR开源框架的对比--Tesseract vs EasyOCR

    ​ 前言: OCR文字识别在目前有着比较好的应用,也出现了很多的文字识别软件,但软件是面向用户的.对于我们技术人员来说,有时难免需要在计算机视觉任务中加入文字识别,如车牌号识别,票据识别等,因此软件对 ...

  4. Pyhton开源框架(加强版)

    info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...

  5. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  6. Android与Swift iOS开发:语言与框架对比

    Swift是现在Apple主推的语言,2014年新推出的语言,比Scala等“新”语言还要年轻10岁.2015年秋已经开源.目前在linux上可用,最近已经支持Android NDK:在树莓派上有Sw ...

  7. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

    [原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文  http: ...

  8. C++的ORM 开源框架

    C++的ORM 开源框架 介绍一个C++的ORM工具ODB SOCI.LiteSQL.POCO数据库访问类库对比

  9. Android &Swift iOS开发:语言与框架对比

    转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_sour ...

随机推荐

  1. Linux系统编程【3.2】——ls命令优化版和ls -l实现

    前情提要 在笔者的上一篇博客Linux系统编程[3.1]--编写ls命令中,实现了初级版的ls命令,但是与原版ls命令相比,还存在着显示格式和无颜色标记的不同.经过笔者近两天的学习,基本解决了这两个问 ...

  2. [Golang]-1 Slice与数组的区别

    目录 数组 1.创建数组: 2.数组是值拷贝传递: 切片(slice) 1.首先看看slice的源码结构: 2.slice的创建: 3.slice使用make创建 4.切片作为参数传递 5.Golan ...

  3. Git使用出现Automatic merge failed; fix conflicts and then commit the result.解决方法

    产生原因 首先这个问题产生的原因是因为你git pull 的时候会分为两步,第一步先从远程服务器上拉下代码,第二步进行merge,但是merge时候失败了就会产生上述问题. 解决方法: 丢弃本地提交, ...

  4. codeforces 858A

    A. k-rounding time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  5. Git使用指南(上)

    1 Git简介 学习一门技术老师更加倾向于看官网的. 度娘看完了,官网看完了,大家还是很懵逼 学生成绩管理系统 登录模块   3.2 登录模块进一步完善    缺一个验证码的功能    3.3 登录模 ...

  6. 20 个使用原生 JavaScript 实现的 Web 项目

    20 个使用原生 JavaScript 实现的 Web 项目 20 vanilla JavaScript Web Projects https://github.com/learning-js-by- ...

  7. .bashrc & rename hostname & rename username

    .bashrc & rename hostname & rename username mbp $ pwd $ cd ~ $ pwd $ cat .bashrc $ vim .bash ...

  8. asm FPU 寄存器

    TOP-- TOP++ 顶部 ST(0) ST(1) ST(2) ST(3) ST(4) ST(5) ST(6) ST(7) 底部 指令后的注释通常是执行后的结果 push section .data ...

  9. py pandas

    import pandas as pd class Main(): def __init__(self): # 读取excel self.df = pd.read_excel("C:\\Us ...

  10. 未来,Baccarat将如何拓展生态版图?

    Baccarat最近几度冲上DeFi版面的热搜,一是因为BGV价格不断的上涨,二是因为生态建设者的不断涌入.可以说,当下的Baccarat,实在是太火爆了.那么在未来,Baccarat还将会持续火爆吗 ...