最近,serverless出现的频率越来越高了,让我们来了解一下serverless相关的概念,如无服务器计算和无服务器平台。
无服务器通常被当做是FaaS(功能即服务)。但是无服务器并不意味着没有服务器。事实上,有许多服务器因为公共云供应商提供部署、运行和管理应用程序的服务器。
无服务器计算是一个新兴的类别,它改变了开发人员构建和交付软件系统的方式的转变。将应用程序基础结构从代码中抽象出来可以极大地简化开发过程,降低成本和提高效率收益。我相信,无服务器计算和FaaS将对下一个IT时代、云本地服务和混合云方面的发展起到重大作用。
无服务器平台提供api,允许用户运行代码函数(也称为操作)并返回每个函数的结果。无服务器平台还提供HTTPS端点,允许开发人员检索函数结果。这些端点可以用作其他函数的输入,从而提供相关函数的序列(或链接)。
在大多数无服务器平台上,用户在执行函数之前部署(或创建)函数。然后,无服务器平台拥有执行这些函数时所需的所有代码。无服务器函数的执行可以由用户通过命令手动调用,也可以由事件源触发,事件源被配置为激活函数,以响应cron警报、文件上传或其他各类型情况。
下面推荐7个无服务器开源平台:
1、Apache OpenWhisk
Apache OpenWhisk是一个无服务器的开源云平台,可以部署在云或数据中心内。支持数千并发触发器和调用。它是用Scala语言编写的。框架响应类似HTTP请求这样的触发事件,然后运行JavaScript或Swift上代码片段。(地址:https://openwhisk.apache.org/)
2、Fission
是一个无服务器的计算框架,它允许开发人员使用Kubernetes构建函数。 Fission提供的最大服务是维护动态加载代码的一组标准容器。这些容器基本上是预先配置好的,为您节省添加必不可少的代码以便在群集中正确运行的麻烦。(地址:https://github.com/fission/fission)
3、IronFunctions
IronFunctions 是一个 Serverless 微服务平台,是一个可以在任何地方运行的 FaaS 平台。 适用于所有语言,用Go编写(地址:https://github.com/iron-io/functions)
4、Fn Project
Fn Project是一个开源的容器本地无服务器平台,你可以在任何地方运行它——在任何云上或本地。它易于使用,支持每种编程语言,并且具有可扩展性和性能。(地址:https://fnproject.io/)
5、OpenLambda
OpenLambda无服务器计算平台,遵循Apache许可,使用Go编写,基于Linux容器。OpenLambda的主要目标是探索无服务器计算的新方法。(地址:https://open-lambda.org/)
6、Kubeless
kubeless 是 kubernetes native 的无服务计算框架,它可以让用户在 kubernetes 之上使用 FaaS 构建高级应用程序。它利用 Kubernetes 资源提供自动扩展、API 路由、监控、故障排除等功能。(地址:https://kubeless.io/)
7、OpenFaas
OpenFaas是一个使用Docker和Kubernetes构建无服务器函数框架,可以直接在Kubernetes上运行,也可以基于Swarm或容器运行。任何程序都可以打包为函数,能够使用一系列web事件,而无需重复编写代码。(地址:https://docs.openfaas.com/)
开源最前线(ID:OpenSourceTop) 猿妹 编译
链接:https://opensource.com/article/18/11/open-source-serverless-platforms