- AWS Lambda - Run code without thinking about servers. Pay only for the compute time you consume.
- Azure Functions - Accelerate your development with an event-driven, serverless compute experience. Scale on demand and pay only for the resources you consume.
- Google Cloud Functions - Event-driven serverless compute platform
- IBM Cloud Functiuons - IBM Cloud Functions (基于 Apache OpenWhisk)是函数即服务 (FaaS) 平台,可执行函数以响应传入事件,并且在不使用时不会产生任何开销
- 阿里云函数计算 - 阿里云函数计算是事件驱动的全托管计算服务。触发器列表
- 华为云函数服务FunctionStage - 函数服务(FunctionStage)是一项基于事件驱动的函数托管计算服务。原函数服务FunctionStage和原函数工作流FunctionGraph两个服务已合并成一个新的服务即函数工作流FunctionGraph。触发器列表
- 腾讯云无服务器云函数SCF - 安全稳定、管理简化、易用且高效的低成本无服务器函数计算平台。触发器列表
各大厂商的横向对比推荐阅读Serverless/FaaS的现状和未来
-
Knative - 谷歌开源的 serverless 架构方案,旨在提供一套简单易用的 serverless 方案,把 serverless 标准化(CNCF Standard)。Google Cloud Next '18 上重点推荐了此项目。四大厂商(Google,Pivotal,IBM,Red Hat)参与了此项目,其中Pivotal和IBM表示自己手中的开源FaaS项目(分别是riff和OpenWhisk)会与Knative进行对接。
Knative分为3个可插拔的子系统:
- Build:构建系统,把用户的代码build成镜像
- Serving:服务系统,请求路由,容器部署和计算、auto scale等功能
- Eventing:事件系统,事件的绑定和触发
-
OpenWhisk - IBM贡献的开源项目,Apache基金孵化项目之一。同时IBM的Bluemix上提供的serverless服务就使用了OpenWhisk。使用Scala编写,架构基于Akka的actor模型,通过消息队列存放事件(接近Knative的eventing模型),Invoker去调度容器。容器编排可以基于K8S也可以基于Mesos。在减少冷启动方面下了不少功夫。
-
fission - Platform9开源的一个基于K8S的Serverless框架。Go编写,每种语言环境维护一个 Pod 池子,然后调度器把 Function 分配给合适的 Pod 运行。创建 Function 后,需要在Router设置路由,通过 HTTP 触发(当前只有Http一种trigger)。fission的详细架构可以看这里
-
fn - iron.io/function团队重新思考serverless,然后做了这个fn project(iron.io在2017年被Oracle收购)。fn Out of box 支持Java, Go, Ruby, Python, PHP, and Node.js。
设计可以看官方的presentation,可以看看iron.io前CEO谈谈Why we built Fn Project
-
Kubeless - 作者自觉是最K8s native的(在Knative出来之后这句话可能要改)。Kubeless使用K8S operator去管理函数的生命周期。
- Serverless 名字起得比较general,实际上是一个开发工具,与各大公有云厂商和开源平台做集成,开发者使用此工具开发好function然后无缝部署到不同的平台之中,避免了vendor lock-in的问题。
- Spring Cloud Function 使用Spring生态系统构建Java Function, 提供插件支持各大厂商如ASW,Azure,Apache OpenWhisk的插件
- StdLib - 专注于FaaS微服务,提供类库以及平台。
- Apex -
- Shep -
- Serverless Cloud Native Landscape - CNCF Serverless全景图
- Cloud Native Events - 提出一个通用的事件描述和pub/sub协议规范。Knative, fn project follow此规范。
- Docs of Nuclio - CNCF Serverless Workgroup指定规范时用了不少Nuclio的例子,下面是其中2个范例:
- Serverless/FaaS的现状和未来 - 快速了解什么是FaaS/Serverless, 现状,以及适用场景
- Serverless Architecture - 来自martinfowler.com,主要探讨理论,什么是Serverless,什么不是Serverless,与PaaS对比等
- Apache OpenWhisk @ Medium - 不少干货,例如这篇<Squeezing the milliseconds: How to make serverless platforms blazing fast!>会谈到如何加速冷启动
- Snafu: Function-as-a-Service (FaaS) Runtime Design and Implementation - 苏黎世大学的一篇论文,介绍如何设计一个FaaS平台,在GitHub放了源码
- Serverless应用开发指南 - 介绍如何用Serverless Framework去开发几个serverless 应用,应用在AWS Lambda上部署
- Serverless Architectures Security Top 10 - Puresec的一个关于Servlerless安全报告,列举最具风险的10个安全问题
- What is Serverless?- O'Reilly出版的Serverless入门小册子,免费。关于Serverless的分类有这么一段描述:“Serverless actually covers a range of techni‐ ques and technologies. We group these ideas into two areas: Back‐ end as a Service (BaaS) and Functions as a Service (FaaS).”
- Serverless的入门与思考 《架构师》小册子
- Buildling Serverless Architecture - 教你怎么用AWS Lambda,反而Achitecture谈得很少。
- Serverlessconf 油管
- Serverlessdays 油管