IBM develops new programming model to create serverless applications

IBM has announced a new capability at the Serverless Conference in New York City on October 10th, 2017 to further the development of serverless applications.

The new tool, Composer, comprises a library of patterns that are key for building serverless applications. It also has the inherent serverless features such as auto-scaling and pay-as-you-go built into it.

Currently, the programming model is available for use in only Node.js language, but developers can deploy the model to make it available in other programming languages such as Python, Swift, and Java.

Rodric Rabbah, principal researcher for IBM Cloud Functions, said: «Rather than forcing people to learn new programming languages, we’d rather bring the model into their favourite programming language.»

The library highlights the key features of serverless and Functions-as-a-Service, as Rabbah explains: «To make functions first class and still allow you to orchestrate the execution of all the functions and the data flow between them automatically, freeing the programmer from having to do that.»

IBM researcher Paul Castro explained that working with Composer is unlike the typical process wherein the developers building solutions with serverless either had to roll their own composition in an ad hoc manner or use a separate service, such as AWS Step Functions. Castro said: “Composer is bringing that composition into the development flow you would already use for serverless, and it’s well integrated into what we have in OpenWhisk / IBM Cloud Function.»

IBM is also introducing the functions shell, a new tool to help with developing, deploying, running, and debugging serverless Functions and compositions. For example, a developer can use it to edit code in a text editor instead of a drag-n-drop UI, or to validate compositions with visualizations without switching tools. It also helps developers deploy and invoke compositions using familiar CLI commands.

What are your thoughts on IBM’s new Composer tool? Let us know in the comments.