首页 首页 云计算 查看内容

7个开源平台,入门无服务器计算

木马童年 2019-3-16 16:00 82 0

Serverless computing 正在改变传统的软件开发。这些开放源码平台将帮助您入门。 最近,serverless一词在越来越多的对话中出现。让我们先弄明白这个概念以及与之相关的一些东西,例如无服务器计算和无服务器平台。 S ...

Serverless computing 正在改变传统的软件开发。这些开放源码平台将帮助您入门。

最近,serverless一词在越来越多的对话中出现。让我们先弄明白这个概念以及与之相关的一些东西,例如无服务器计算和无服务器平台。

Serverless 经常被当做FAAS(函数既服务)。serverless不是说没有服务器。事实上,服务器有很多,甚至性能还很强劲,这是为公共云提供商提供了部署、运行和管理应用程序的服务器。

7个开源平台,入门无服务器计算

Serverless computing是一个新兴的技术,改变了开发人员构建和交付软件的方式。它将基础设施和代码分离来简化开发过程,降低成本并提升效率。我相信,Serverless computing和FaaS将在帮助定义企业IT的下一个时代、云本地服务和混合云方面发挥重要作用。

Serverless平台提供api,允许用户运行代码函数(也称为操作)并返回每个函数的结果。无服务器平台还提供HTTPS终端,允许开发人员检索函数结果。这些终端可以用作其他函数的输入,从而提供相关函数的触发事件(或链接)。

在大多数serverless平台上,用户在执行函数之前部署(或创建)函数。serverless平台拥有所有必要的代码,以便在需要的时候执行这些函数。serverless函数的执行可以由用户通过命令手动调用,也可以由事件源触发,该事件源配置为在响应cron作业告警、文件上传或其他事件时激活函数。

以下7个开源平台提供了serverless computing

Apache OpenWhisk 是一个无服务器的开源云平台,允许您在任何规模的事件响应中执行代码。它是用Scala语言编写的。框架响应类似HTTP请求这样的触发事件,然后运行JavaScript或Swift代码片段。

Fission 是一个serverless computing框架,使开发人员能够使用Kubernetes构建函数。它允许程序员用任何编程语言编写函数,并将其与任何事件触发器(如HTTP请求)进行映射。

IronFunctions 是一个通过集成它现有的服务和Docker来提供了微服务的serverless computing框架。他要求开发人员使用Go语言编写函数。

Fn Project 是一个开源的容器本地化服务器平台,您可以在任何地方、任何云上或在本地运行。它易于使用,支持每一种编程语言,具有高扩展性和高性能。

OpenLambda 是一个apache授权的基于Linux容器,使用Go编写serverless computing项目。 OpenLambda的主要目标是探索新的serverless computing方法。

Kubeless 是一个kubernets原生的serverless框架,允许您部署细粒度的代码,而不必担心底层基础设施。它利用Kubernetes资源提供自动缩放、API路由、监控、故障恢复等功能。

OpenFaas 是一个使用Docker和Kubernetes构建serverless功能的框架,它为metrics提供了一流的支持。任何程序都可以打包为函数,使您能够使用一系列web事件,而无需重复编写样板代码。

Kubernetes是管理serverless和微服务的最流行的平台,它使用细粒度的部署模型来更快更轻松地处理工作负载。使用Knative 服务,您可以在Kubernetes上构建和部署无服务器的应用程序和函数,并使用Istio扩展和支持高级场景,例如:

快速部署无服务器容器

自动扩容或者缩容至零

Istio组件的路由和网络编程

代码和配置的实时快照

Knative 元件焦距在解決如何更好的在本地云上构建、运行应用程序上。例如将运行行服务绑定到事件生态系统上、在部署期间的路由和流量管理、按需自动扩展及调整工作负载的大小。Istio是一个开放的平台,能有效连接并保护微服务,并且设计考虑多个角色交互的框架,包括开发商、运营商和平台提供商。

例如,您可以使用Knative服务在本地Minishift平台上部署一个JavaScript无服务器负载,代码片段如下:

##DockerfileFROMbucharestgold/centos7-s2i-nodejs:10.x WORKDIR/opt/app-root/srcCOPYpackage*.json./ RUNnpminstallCOPY.. EXPOSE80803000CMD["npm","start"] ##package.json{"name":"greeter", "version":"0.0.1","private":true, "scripts":{"start":"nodeapp.js"}, "dependencies":{"express":"~4.16.0"}} ##app.jsvarexpress=require("express"); varapp=express();varmsg=(process.env.MESSAGE_PREFIX||"") +"NodeJs::KnativeonOpenShift"; app.get("/",function(req,res,next) {res.status(200).send(msg);}); app.listen(8080,function(){ console.log("Appstartedinport8080");}); ##service.yamlapiVersion:serving.knative.dev/v1alpha1 kind:Servicemetadata:name:greeter spec:configuration:revisionTemplate: spec:container:image:dev.local/greeter:0.0.1-SNAPSHOT BuildyourNode.jsserverlessapplicationanddeploy theserviceonlocalKubernetesplatform.InstallKnative, Istio,KnativeServingonKubernetes(orMinishift)asprerequisites.

在本地Kubernetes平台构建你的Node.js serverless应用程序并部署服务前需要提前在安装Knative、Istio、Knative组件。

1.使用以下命令连接到Docker守护进程:

(minishiftdocker-env)&&eval(minishiftoc-env)

2.使用Jib命令构建一个serverless应用程序容器映像:

./mvnw-DskipTestscleancompilejib:dockerBuild

3. 把serverless服务如Minishift部署到您的Kubernetes集群:

kubectlapply-fservice.yaml

结语

上面的示例展示了在何处以及如何开始使用本地云平台(如Kubernetes、Knative service和Istio)开发无服务器应用程序。

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

软件开发 云提供商 应用程序 基础设施 混合云 云平台
0
为您推荐
人算不如天算,数据驱动的云计算远超天算啦!

人算不如天算,数据驱动的云计算远超天算啦

在今天的世界, 一切业务数据化,一切数据业务化,只有这样才能迎接这个时代。所以我希…...

业务不到两年增速85%,是哪家公司这么厉害?

业务不到两年增速85%,是哪家公司这么厉害?

核心提示:自从2015年9月的OracleOpenWorld大会上推出全线的SaaS和PaaS产品以来,甲骨…...

打开企业云计算之门的利剑,不容错过?

打开企业云计算之门的利剑,不容错过?

在现实中,很多企事业单位的IT基础设施就处于此层次级别,即:只是采用了虚拟化技术去…...

云计算炙手可热,究竟是谁在背后?

云计算炙手可热,究竟是谁在背后?

核心提示:前不久,万达网络科技集团与美国IBM公司达成合作,借助IBM的云计算技术,进…...

云计算对数据进行智能分析,云计算核心技术有哪些?

云计算对数据进行智能分析,云计算核心技术

随着信息技术不断进步,闪存、磁盘、数据中心、DNA等各种新的存储技术不断出现。即便…...

“云”上存储日渐成熟, 那么最关键的是什么?

“云”上存储日渐成熟, 那么最关键的是什

展望未来,世界并不只是由公有或私有化技术组成,还有许多两者的混合体。因此势必会有…...

云计算开源呈现爆发式增长,如何使用云计算开源技术成为产业链关注的热点?

云计算开源呈现爆发式增长,如何使用云计算

近几年来,在云计算领域,开源技术呈现爆发式的增长,借用云计算领域的主流看法,这个…...

云计算提供了基础平台,云计算产业进入2.0

云计算提供了基础平台,云计算产业进入2.0

云计算引发了软件开发部署模式的创新,成为承载各类应用的关键基础设施,并为大数据、…...

私有云的建设是一个需要长期迭代的过程,我们都还在路上!

私有云的建设是一个需要长期迭代的过程,我

伴随着IT新技术的发展,像虚拟化、云计算和大数据对大家来说已经不再陌生了。在企业里…...

大家都要向云计算转型,为什么?

大家都要向云计算转型,为什么?

我们曾经开玩笑说硬件也要向云计算转型,软件也要向云计算转型,系统集成商也要向云计…...