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。
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/fe2e5629610cb54461a0863ce】。文章转载请联系作者。
评论