IBM's OpenWhisk is a new event-driven service for hosting and running developer's microservices that's designed to compete with AWS Lambda.

Charles Babcock, Editor at Large, Cloud

March 14, 2016

4 Min Read
<p align="left">(Image: Tommaso Colia/iStockphoto)</p>

8 IT Projects To Prioritize When Budget's Tight

8 IT Projects To Prioritize When Budget's Tight

8 IT Projects To Prioritize When Budget's Tight (Click image for larger view and slideshow.)

IBM has launched OpenWhisk, an event-driven developer service, on its Bluemix cloud to aid in the creation of next-generation, microservice-based applications.

A small amount of a customer's application logic, often in JavaScript or Node.js, is stored on the OpenWhisk platform, which has been primed to receive notification of a software event in a mobile application, an external Web service, or another Bluemix service. The notification fires off a rule that acts as a trigger that activates the logic and responds to the event.

The logic runs only in response to the trigger, so the application runs for brief periods of time, with as many copies of the microservice running as needed to meet the demand set off by triggers. In other words, OpenWhisk will automatically scale up the service without the developer needing to worry about whether resources are adequate for it. These small services are frequently stored in Docker containers, where they can be quickly activated and deactivated.

The OpenWhisk service, announced as generally available on Feb. 22, is similar to Amazon Web Services' Lambda, which was launched 16 months ago. But OpenWhisk is coming into the world more fully baked. It works with three languages: Node.js, Apple's Swift, and Java. IBM said it will add more language support to OpenWhisk in the near future.

When it first arrived in November 2014, AWS Lambda worked with one: Node.js; now it works with Node.js plus Java and Python. OpenWhisk is also similar to Google's Cloud Functions, announced at the end of 2015. Microsoft's Azure has offered event-driven WebJobs since January 2014, said CTO Mark Russinovich.

Learn to integrate the cloud into legacy systems and new initiatives. Attend the Cloud Connect Track at Interop Las Vegas, May 2-6. Register now!

IBM wasn't first to the party, but its OpenWhisk event-driven system is now open source code available on GitHub for free downloading and use on-premises, as well as in the cloud, said IBM's Angel Diaz, VP of cloud architecture and technology, in an interview.

AWS Lambda doesn't support Apple's Swift language, which gives IBM an opportunity to expand Bluemix OpenWhisk as a service for iPhone and iOS developers.

Diaz explained that OpenWhisk allows an application as set of services that can be easily revised. With monolithic and even modular applications, for the app to be changed, frequently the application has to be stopped, old code pared out, and new code phased in. With a service like OpenWhisk, microservices A, B, and C can be run as an application set. When C is outmoded, D can be composed and phased in without the application's operation ever being interrupted, Diaz explained.

Likewise, the rules that trigger the run of a microservice are stored in OpenWhisk and don't need to be concentrated in a single rules engine. Rules triggering the application logic can be changed dynamically as well, without one set of rules being hard coded into the application, Diaz said.

In addition, a mobile application developer only needs to know Javascript, the closely related Node.js, or Swift to be able to compose services in the language of his choice. He doesn't need to know about scaling, security, or how to ensure continuous operation. Those infrastructure issues are the responsibility of OpenWhisk operations on the Bluemix cloud, Diaz said.

[Want to learn more about event-driven, serverless applications? Read How Serverless Applications Will Change Your Business.]

That's one reason why serverless applications, as they are sometimes called, represent "a leap forward" in what application developers can accomplish and how quickly they can get their code up and running, Diaz said. He expects "rule sets" that accomplish particular business goals to appear on OpenWhisk that can be used by microservices from different third parties.

Google Cloud Functions, AWS Lambda, Azure WebJobs, and OpenWhisk may represent the new face of platform-as-a-service. When development occurs in the cloud, it may follow the pattern of microservices triggered by rules, fired off by external events. Al Hilwa, IDC software development analyst, said these serverless applications are "an important new space in the PaaS world."

Because the application is fired up for a few seconds when needed instead of running continuously, the cloud charge is based on both the amount of time it runs and the number of requests coming to it. Such an approach is good for mobile apps, IoT data streams, big data processing, or analytics, Hilwa said in an interview. Hilwa got a look at OpenWhisk at IBM's InterConnect show in Las Vegas in early March.

"It's all made possible by container technology -- quick to start and quick to shut down," but different clouds may show different levels of performance. Such event-driven, asynchronous services "will prove an important competitive point for cloud services in the future," he said.

About the Author(s)

Charles Babcock

Editor at Large, Cloud

Charles Babcock is an editor-at-large for InformationWeek and author of Management Strategies for the Cloud Revolution, a McGraw-Hill book. He is the former editor-in-chief of Digital News, former software editor of Computerworld and former technology editor of Interactive Week. He is a graduate of Syracuse University where he obtained a bachelor's degree in journalism. He joined the publication in 2003.

Never Miss a Beat: Get a snapshot of the issues affecting the IT industry straight to your inbox.

You May Also Like

More Insights