Virtualization Technology News and Information
VMblog's Expert Interviews: IBM Talks Serverless Computing as the Next Big Thing

interview ibm serverless 

Serverless Computing is the next big thing.  Last month IBM quietly announced a major advance in so-called serverless app -- composing serverless functions into applications using Composer.  IBM unveiled the new offering at Serverless NYC.  Built on Apache OpenWhisk, Composer was created by the same team at IBM Research that started the development of OpenWhisk nearly three years ago.  Serverless is largely synonymous with Functions-as-a-Service (FaaS), which are cloud-native, usually stateless, functions that scale on demand.  Serverless as a "model" is potentially broader than FaaS.

I recently caught up with IBM Research's Paul Castro, Research Staff Member and Manager, Cloud Programming Technologies, and Rodric Rabbah, Principal researcher, Technical Lead, Serverless Computing, to find out more.

VMblog:  As I look more closely at this preview technology offering for serverless, I see a parallel with the orchestration wars a few years ago around containers.  Your new Composer is open source and it looks like IBM is aiming for the high ground in serverless orchestration by building on open source software.

Castro:  We're moving to the next phase of Functions-as-a-Service. To date, the state of the art focuses on the creation of "stateless" functions that are cloud native, pay-per-use, and developers never worry about servers. But for real solutions you typically don't deal with single functions, but rather sets of functions - and you have to coordinate these functions to do real tasks. At IBM Research, we've create Composer, a reference implementation for orchestrating functions for IBM Cloud Functions.  Developers want to create functions, compose them together, and interact with the compositions themselves as functions, all using a familiar programming model.  Developers will want to create compositions in any language, since the reality today is polyglot development - this is one strength of FaaS: use the right language for the job.  And developers want to create compositions that are not merely a collection of stateless functions, but stateful applications. With Composer, we're working towards all of these next-generation serverless opportunities, on top of IBM Cloud functions, based on Apache OpenWhisk.

VMblog:  It sounds like what you're trying to do with Composer is sort of analogous to what Kubernetes is doing with orchestrating containers.  Is that a fair comparison?

Castro:  Absolutely. Similar to the way that people don't just deploy single containers and need a way to orchestrate all of them -- that's the missing piece for functions.

When you're building applications that use Cloud services, you have to write coordination code somewhere. Where does the coordination code itself go? Traditionally, you would put that code on the client side, or you have to install that logic somewhere server-side. Where Composer comes into play is the ability to write that coordination code in a serverless way - this allows you to access Cloud services using a simple model that is cloud native.

Function-as-a-Service (FaaS) is a natural extension of the container model. Why even worry about containers if all I want to do is run some code? Functions is an abstraction on top of containers that we can use to simplify orchestration. Serverless and containers in many ways are converging.

VMblog:  Why OpenWhisk?  Why is IBM committed to this Apache framework as the platform for its serverless efforts?

Rabbah:  One major reason developers are cautious about using a particular cloud is because of lock in. We want to open source this so we can give the community a way to move anywhere if they have to. We have seen this value proposition resonate with our clients and also with the community that's growing around Apache OpenWhisk. In addition, we think OpenWhisk is the platform for research and innovation that can appeal to the academic community where there is an increasing interest in serverless computing.

Of course, we think we have the best version Apache OpenWhisk in the IBM cloud. Our Research team created the initial core that is now an Apache incubator, and IBM Functions is based on this.

With last month's announcement, we are providing developers with a reference implementation of Composer and a really cool tooling environment called the Cloud Functions Shell that makes it easier to build your compositions. 

VMblog:  What's the future of stateless look like from IBM's perspective?

Rabbah:  Stateless functions are state of the art today. But to support developers creating complete enterprise apps you need to do more. For example, many applications require managing persistent state. How do we evolve the serverless model to make this easier for the developer? And how do we do this in a way that preserves all the things that developers already love about serverless? We want to make it easier for developers to make great applications with IBM Cloud Functions. We would like to support a variety of enterprise workloads that developers need and in a way that makes their jobs easier.

When you look at serverless, there are many ways to support more complex applications. If you want to compose functions together, you want the result of that to still be a function.  Like all functions, you shouldn't have to pay for idle time for your composition We want to also respect the polyglot nature of serverless development - your composition can be composed of functions in any language. We've done this with Composer to go beyond the first generation of serverless functions.


Published Friday, November 17, 2017 8:03 AM by David Marshall
Filed under: ,
There are no comments for this post.
To post a comment, you must be a registered user. Registration is free and easy! Sign up now!
<November 2017>