Everything is Serverless,从开源框架对比说起
摘要: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应用由于监管约束和数据治理规则将长期存在,但是随着时间的推移会逐渐减少
- https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf
- https://winderresearch.com/a-comparison-of-serverless-frameworks-for-kubernetes-openfaas-openwhisk-fission-kubeless-and-more/
本文分享自华为云社区《serverless 开源框架对比》,原文作者:Leo Xiao。
Everything is Serverless,从开源框架对比说起的更多相关文章
- Python六大开源框架对比:Web2py略胜一筹
Python是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还自带 ...
- Python六大开源框架对比:Web2py略胜一筹(转)
Python是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还自带 ...
- 文字识别OCR开源框架的对比--Tesseract vs EasyOCR
前言: OCR文字识别在目前有着比较好的应用,也出现了很多的文字识别软件,但软件是面向用户的.对于我们技术人员来说,有时难免需要在计算机视觉任务中加入文字识别,如车牌号识别,票据识别等,因此软件对 ...
- Pyhton开源框架(加强版)
info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...
- Python开源框架
info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...
- Android与Swift iOS开发:语言与框架对比
Swift是现在Apple主推的语言,2014年新推出的语言,比Scala等“新”语言还要年轻10岁.2015年秋已经开源.目前在linux上可用,最近已经支持Android NDK:在树莓派上有Sw ...
- 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发
[原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文 http: ...
- C++的ORM 开源框架
C++的ORM 开源框架 介绍一个C++的ORM工具ODB SOCI.LiteSQL.POCO数据库访问类库对比
- Android &Swift iOS开发:语言与框架对比
转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_sour ...
随机推荐
- 如何安装Gephi工具
gephi中文版是一款开源免费跨平台基于JVM的复杂网络分析软件,安装后需要安装Java jdk API,否则就会出现gephi打不开的情况 该工具主要用于各种网络和复杂系统,动态和分层图的交互可视化 ...
- 牛年 dotnet云原生技术趋势
首先祝大家:新年快乐,牛年大吉,牛年发发发! 2020年的春节,新冠疫情使得全球业务停滞不前,那时候,没有人知道会发生什么,因此会议被取消,合同被搁置,项目被推迟,一切似乎都停止了.但是我们却见证了I ...
- go免杀初探
0x01 go免杀 由于各种av的限制,我们在后门上线或者权限持久化时很容易被杀软查杀,容易引起目标的警觉同时暴露了自己的ip.尤其是对于windows目标,一个免杀的后门极为关键,如果后门文件落不了 ...
- 鸟哥的linux私房菜——第六章学习(Linux文件与目录管理)
******************第六章学习****************** 1.[文件与目录管理] 在所有目录下面都会存在的两个目录,分别是 "." 与 "..& ...
- Github App version released icons
# Github App version released icons http://shields.io/ Build Travis: https://img.shields.io/travis/U ...
- 如何使用 js 实现一个 throttle 函数
如何使用 js 实现一个 throttle 函数 原理 实现方式 "use strict"; /** * * @author xgqfrms * @license MIT * @c ...
- 如何用 js 实现一个 apply 函数
如何用 js 实现一个 apply 函数 原理 实现方式 总结 refs https://developer.mozilla.org/en-US/docs/Web/JavaScript/Referen ...
- Typescript & React & optional parameters & default parameters
Typescript & React & optional parameters & default parameters Typescript & optional ...
- flutter sqlite持久化数据
dependencies: path: sqflite: sqflite_common_ffi: import 'dart:io'; import 'package:flutter/material. ...
- 2021-2-19:请问你知道 Java 如何高性能操作文件么?
一般高性能的涉及到存储框架,例如 RocketMQ,Kafka 这种消息队列,存储日志的时候,都是通过 Java File MMAP 实现的,那么什么是 Java File MMAP 呢? 什么是 J ...