在Serverlessconf一文中,IBM宣布了IBM云服务器的一项新功能(作为IBM Research预览版)。使用新的工具Composer,可以创建包含多个云功能的应用程序。这些应用程序协调操作和数据流的调用。与先前可用的动作序列相比,新功能更为灵活。
云功能通常相当简单,专注于特定的任务,这就是人们经常将云功能称为微服务的原因。云本地应用程序通常有许多微服务。虽然微服务的实现相当简单,但关键的挑战是微服务之上的编排层。这就是为什么Kubernetes这样的框架,像Istio这样的增加已经变得非常流行。利用新的Composer工具,开发人员现在可以构建能够利用多种云功能的应用程序,并且需要更复杂,协调一致的流程来实现端到端的解决方案。
Composer是IBM Cloud Functions编程模型,用于将各个功能组合成更大的应用程序。作品,非正式命名的应用程序,使用自动管理的计算和内存资源在云中运行。Composer是功能即服务计算模型的扩展,支持状态计算,控制流和丰富的数据流模式。作曲家有两部分。第一个是以编程方式描述组合的库。该库目前在Node.js中可用。第二个是执行组合的运行时。
我们来看一个简单的例子。使用新的Composer功能,可以调用不同的函数,具体取决于前一个函数的结果。屏幕截图显示了新的工具“fsh”(功能性编程外壳),以图形方式显示流程。
应用程序(组合)可以通过由运行时组件执行的JSON来定义。除了“如果”之外,还支持许多其他构图方法。
我真正喜欢的是定义应用程序的第二种方法,我认为这对开发者来说更为自然。虽然您可以将应用程序定义为JSON配置,但您也可以编写使用Composer SDK的Node.js代码,并且可以使用构造变量,try / catch语句,循环,数据转发等等。
Node.js代码被编译成JSON,由运行时执行。为了处理应用程序的状态,开发人员需要配置Redis数据存储(有关详细信息,请参阅文档)。托管运行时与数据存储一起允许托管和运行无服务器应用程序。
要了解更多信息,请查看快速入门指南。