利用IBM云功能构建无服务器应用程序

在 IBM(国际商业机器公司) 的 Serverlessconf 网站上,官方发布IBM Cloud Functions 的一项新功能(作为 IBM Research 的一个预览版)。我们可以使用新工具 Composer,以创建包含多个云功能的应用程序,这些应用程序会协调动作的调用与数据流。新功能比起以前使用的动作序列相比,更为灵活了。

云功能一般来说是非常简单,且专注于特定任务的,这也是人们通常将云功能称为微服务的原因。云本地应用程序通常包含了许多的微服务。微服务的实现非常简单,其技术难点在于微服务之上的流程编排层。这就是像 Kubernetes 这样的框架,与 Istio 这样的附加组件已变得非常流行的原因。开发人员现在可以使用新工具 Composer 来构建能够利用多种云功能的应用程序,但这需要更复杂、协调一致的流程来实现端到端的解决方案。

Composer 是 IBM Cloud Functions 编程模型,该模型用于将各个独立功能组合成更大的应用程序。组合模式、非正式命名程序,都是使用自动管理的计算与内存资源运行在云服务器中。Composer 是对功能服务(FaaS)计算模型的一个扩展,它支持状态计算、控制流和丰富的数据流模式。Composer 由两部分组成:第一个,是以编程方式描述组合模式的库,该库目前在 Node.js 中是可用的。第二个则是执行组合模式的运行时环境。

现在我们来看一个简单的例子。使用新的 Composer 功能,我们可以根据前一个功能的返回结果来决定调用特定的下一功能。下面的屏幕截图展示了新工具“fsh”(函数式编程壳),它以图形的方式来显示流程。

cloud-functions-compose1.png

应用程序(组合模式)可以通过由运行时环境组件所执行的 JSON 来定义。除了 “if” 方式之外,目前还支持许多其他构图方法

cloud-functions-compose3.png

我所喜欢的是第二种定义应用程序的方法,因为我认为这一方法对于开发者而言更为自然。您可以将应用程序定义为 JSON 配置,也可以编写使用 Composer SDK 的 Node.js 代码,并使用构造变量,try / catch语句,循环,数据转发等等。

cloud-functions-compose2.png

Node.js 代码会被编译成 JSON,并由运行时环境来执行。开发人员需要配置 Redis 数据存储以处理应用程序的状态(详情参阅:文档)。运行时环境与数据存储允许托管和运行无服务器式应用程序。

若想要了解更多信息,请查看快速入门指南

本文的版权归 StoneDemo 所有,如需转载请联系作者。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏非著名程序员

Android开发方便快捷的8个好工具,你造吗?

Android是第二个最流行的用于 智能手机和平板电脑 的操作系统。这里有8个最好的 Android工具以许多不同的方式 帮助开发人员 ,例如 - SDK和AV...

2037

Apache CloudStack系统VM架构选择

最近我和一些人讨论了为什么现在有32位或64位虚拟机系统和云计算平台4.3的选择。我提供了一个答案,并链接到一些邮件列表进行讨论。我想这可能是随兴...

1879
来自专栏IT大咖说

VMware vSphere 6.7 新功能介绍

内容来源:2018 年 06 月 19 日,VMware大中华区原厂高级技术讲师姚泉在“VMware在线技术专题分享·第二期”进行《VMware vSphere...

5513
来自专栏恰童鞋骚年

Hadoop学习笔记—14.ZooKeeper环境搭建

从字面上来看,ZooKeeper表示动物园管理员,这是一个十分奇妙的名字,我们又想起了Hadoop生态系统中,许多项目的Logo都采用了动物,比如Hadoop采...

892
来自专栏企鹅号快讯

使用Jest测试原生TypeScript项目

问题:我怎么才能收到你们公众号平台的推送文章呢? 最近写了一个wechat-colorpicker小项目。 主要是为了练习下TS。既然写了一个小库,我就想着顺便...

3876
来自专栏FreeBuf

看我如何发现苹果公司官网Apple.com的无限制文件上传漏洞

最后,我也因此测试漏洞收获了苹果官方不菲的赏金,以及漏洞名人堂的入榜致谢。好吧,我们一起来看看这个苹果官网的无限制文件上传漏洞。

1543
来自专栏技术博文

Linux下常用压缩 解压命令和压缩比率对比

常用的格式有: tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大。 1. tar 只是打包...

8707
来自专栏纯洁的微笑

本周新鲜事:开源那些事

972
来自专栏dotnet & java

不要使用Resource Owner Password Credentials

最近公司项目在做一些重构,因为公司多个业务系统各自实现了一套登录逻辑,比较混乱。所以,现在需要做一个统一的鉴权登录中心,准备用IdentityServer4来实...

1124
来自专栏编程坑太多

跟我一起学docker(九)--持续系统集成了解下git

1557

扫码关注云+社区

领取腾讯云代金券