IBM has announced a set of new tools for its Bluemix OpenWhisk event-driven programming model, which uses Docker containers.
The new tools will enable developers to build intuitive applications that can easily connect into the Internet of things (IoT), as well as tap into advanced services such as cognitive, analytics and more—without the need to deploy and manage extra infrastructure, according to IBM.
“What OpenWhisk allows a developer to do is without any server infrastructure they upload their snippet of code, they choose when they want that code to run—like in response to something changing in the database in the cloud, or someone calling a Web URL—and then when that event occurs, the code gets run and IBM will auto-scale it for them,” Mike Gilfix, vice president of Mobile & Process Transformation at IBM, told eWEEK.
“So we make sure that it scales to as much demand as they need and they only pay for the compute capacity that they need at the time that the code runs,” he said.
Announced at DockerCon 2016, IBM’s new OpenWhisk tools—NPM Module and Node-RED—will enable developers to more rapidly build event-driven apps that automatically execute user code in response to external actions and events, according to the company.
Moreover, IBM also plans to roll out new updates to the OpenWhisk user experience to make it easier for developers, including step-by-step workflows, new wizards to configure third-party services and feeds, and a new editor to manage sequences of actions, said Andrew Hately, CTO of IBM Cloud Architecture.
Node-RED is IBM’s open-source IoT tool for creating event-driven applications. It enables developers to start prototyping their ideas without having to first write code. Node-RED can invoke triggers and actions within OpenWhisk, giving apps access to Watson analytics, the IBM IoT platform and a host of other Bluemix services.
Hately said IBM has been working to make OpenWhisk more intuitive for people developing in whatever programming language they want so they can benefit from the event-driven, serverless style of development.
“A lot of this is just continuing the drumbeat of making this more consumable to developers working in the polyglot, language-of-choice-style of development,” he said.
With that in mind, IBM has continued with its first-class support of Node.js because of its popularity for IoT and device developers, Hately said.
“On the Node side we tie into our Node-RED platform,” he said. “This is all about taking multiple open technologies that are getting large developer communities and continuing to enhance them and better integrate them. IoT is probably the biggest example of people wanting to do very, very lean, message-based integrations.”
“Within the node community, we have a very large contingent of Node.js users,” said Todd Moore, vice president of Open Technology at IBM. “And we knew we could make things much easier for them. We see Node as one of the dominant languages within Bluemix these days. More than half of what we see deployed [on Bluemix] is using Node.”
IBM Adds New Bluemix OpenWhisk Tools for IoT Development
Meanwhile, IBM’s NPM module provides a JavaScript client library for the OpenWhisk REST APIs. It provides an easy way for developers to call services on the OpenWhisk platform without manually constructing HTTP requests, IBM said. Developers can build apps that integrate with the OpenWhisk directly from Node.js without having to learn the entire RESTful API endpoints for the platform, Hately said.
Gilfix said IBM’s OpenWhisk enables a vastly different model than traditional cloud computing models. With traditional cloud computing models, organizations must deploy a VM in the cloud running constantly. Organizations pay for the VM regardless of whether it’s using the content in the VM, not to mention the cost of the skills needed to set up the stack, maintain it and run it.
“So now developers can just focus on the high-value code, quickly go and create these microservices and our cloud will scale that for them,” Gilfix said. “We’ve seen a lot of developers look into this programming model, but we took a very open approach to it. The key to this kind of programming model is to have a ton of different events that allow you to hang your coat off of.”
OpenWhisk runs on IBM’s Bluemix cloud platform and enables developers to deploy their code as Docker containers. With OpenWhisk, developers can begin building with containers on Bluemix immediately, without the hassle of configuring and connecting prerequisite programs and code, Hately noted.
Moreover, in OpenWhisk, IBM created an open model to make it easier for people to write event-driven code on the cloud. IBM also made it one of the first venues to do Swift programming on both the front end and the back end, Gilfix said.
“We see a tremendous opportunity for developer productivity,” he said.
Many of the developers using Swift today are client-side developers who aren’t experienced full-stack developers. But IBM wants to make them productive in building the back-end logic for their mobile applications on the cloud.
“We think the killer combination is to use OpenWhisk—which is this event-driven, serverless programming model—and Swift, because those developers can upload their code snippets to the cloud, choose when they run and the cloud will take care of the process of scaling it for them,” Gilfix said. “That’s an incredibly powerful productivity gain.”
Meanwhile, developers reuse the skills they have between front end and back end, developing in one language and one skill set for their end-to-end application, he added.
An IBM spokesperson said with integrated Docker support, IBM’s Bluemix draws more than 20,000 new developers each week, creating more than 120,000 apps every month.