Skip to content

Latest commit

 

History

History
71 lines (48 loc) · 7.68 KB

README.md

File metadata and controls

71 lines (48 loc) · 7.68 KB

Awesome Serverless

Platforms (Hosted)

  • 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的现状和未来

Platforms (Installable)

  • 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去管理函数的生命周期。

  • Qinling(秦岭) - Openstack 上的FaaS,孔令贤是contributor之一。

Framework

  • Serverless 名字起得比较general,实际上是一个开发工具,与各大公有云厂商和开源平台做集成,开发者使用此工具开发好function然后无缝部署到不同的平台之中,避免了vendor lock-in的问题。
  • Spring Cloud Function 使用Spring生态系统构建Java Function, 提供插件支持各大厂商如ASW,Azure,Apache OpenWhisk的插件
  • StdLib - 专注于FaaS微服务,提供类库以及平台。
  • Apex -
  • Shep -

Standards

Articles & Blogs

Books

  • 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谈得很少。

Conferences