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

Improving App Availability with Multizone Clusters

Downtime costs money and results in unhappy customers.  Whether you have developed a new cloud-native application or repackaged an existing app to run as a container, now you need to ensure your app and the infrastructure running it are highly available.  IBM is excited to announce the availability of multizone clusters, targeted for June 2018.  Now […]

Continue reading

What the stats say about container development

59% improved application quality and reduced defects. 57% reduced application downtime and costs. All adopted container development.   In 2017, IBM conducted an in-depth research study on the state of container adoption across all industries, startups to enterprises. The study reveals the most important solutions driving usage and highlights the key challenges that must be addressed by cloud providers. […]

Continue reading

Process large data sets at massive scale with PyWren over IBM Cloud Functions

(Ed.–Josep Sampé–Universitat Rovira i Virgili–co-authored this post.) Let’s say you write a function in Python to process and analyze some data. You successfully test the function using a small amount of data and now you want to run the function as a serverless action at massive scale, with parallelism, against terabytes of data. What options do you have? Obviously, […]

Continue reading