Compute Services

Introducing Serverless Composition for IBM Cloud Functions

Share this post:

Functions-as-a-Service (FaaS) bring to the cloud a set of properties that are central to the serverless computing promise: little to no concern about infrastructure operations, auto provisioning and auto scaling, and pay-per-use with zero cost for idle time. While these benefits are driving the growth of FaaS, developers are quickly realizing they need a better programming approach to build serverless applications, including:

  • The ability to coordinate data and control flow across functions and APIs
  • An approach that encourages incremental and modular code development
  • And tooling which bridges the gap between code editors and fancy UIs

The IBM Research team which previously built the platform that became Apache OpenWhisk is now previewing two new capabilities for serverless computing: Composer available on GitHub, and the functions shell available on NPM.

Composer

Composer is a new programming model from for composing IBM Cloud Functions, built on Apache OpenWhisk. Composer extends Functions and sequences with more powerful control flow and automatic state management. With it, developers can build even more serverless applications including using it for IoT, workflow orchestration, conversation services, and devops automation, to name a few examples.

composer.sequence(                // programmatic composition
  ‘currentTemperature’,           // call cloud function or API
  composer.if(                    // conditional control flow
    result => result.temp < 60,   // mix inline JavaScript
    ‘turnOnHeat’)                 // interface to 3rd party services
)

Composer helps you express cloud-native apps that are serverless by construction: scale automatically, and pay as you go and not for idle time.

The Functions Shell

Use the new functions shell to program compositions for IBM Cloud Functions. The shell supports incremental, iterative, and local development of serverless apps; it allows you to use your favorite text editor and readily validate your compositions with locally accessible visualizations, and deploy and run your programs in the cloud all from the same local environment.

We’re at Serverless Conf NY this week demonstrating these previews. You can try them out on the IBM Cloud.

More Compute Services stories
November 12, 2018

Configure Calicoctl for IBM Cloud Kubernetes Service

In the IBM Cloud Kubernetes Service, the Calico configuration file can now be generated automatically with just a single command. For clusters 1.10 and above, you can use the new flag to download your cluster config.

Continue reading

November 12, 2018

Application Modernization is Inevitable

Business pressures demand faster rollout and quality applications, but your existing estate will determine your modernization strategy. Watch the webinar: "Accelerate digital transformation by modernizing apps for the cloud."

Continue reading

November 8, 2018

On-Demand ALB Update Feature on IBM Cloud Kubernetes Service

Effective immediately, IBM Cloud Kubernetes Service customers can gain control over when the IBM Cloud Kubernetes Service ALB pods are updated in their clusters. The default setting for each newly created cluster remains—the Ingress controller will get updated automatically by IBM Cloud Kubernetes Service whenever a new version is available.

Continue reading