IBM announces Bluemix OpenWhisk event-driven model
IBM announces Bluemix OpenWhisk event-driven model

At IBM InterConnect in Las Vegas, Robert LeBlanc, Senior Vice President, IBM Cloud told the audience that IBM wanted to simplify cloud development. The idea is to remove any remaining barriers for developers looking to move their applications into the cloud.

This fits with where IBM has been positioning Bluemix as a composable environment where it is possible for anyone, even those with no programming skills, to write code. IBM has been having some serious success with this. LeBlanc announced that IBM was adding over 20,000 Bluemix users every month. This figure is more impressive as it only looks at users on Bluemix public and does not include figures from large enterprises who are installing Bluemix Local.

How does Bluemix OpenWhisk work?

The key to this announcement from LeBlanc is a new solution, IBM Bluemix OpenWhisk. This is a new event-driven model designed to take code and then execute it based on an event. One example would be images uploaded into a database, this would trigger an event to generate the different image sizes required and then tag them.

With Bluemix OpenWhisk the developer would write two rules and create a trigger. The trigger is an image being uploaded while the two rules are:

  1. When an image is uploaded, create a thumbnail and store it
  2. When an image is uploaded search for similar images and add tags to the image

The trigger and the rules would be wrapped up in a package or micro-service that would then be uploaded to the IBM cloud. The package would then sit there until the trigger condition was met. At that point Bluemix OpenWhisk would see the trigger condition as met and fire the two rules and their associated actions.

At no point does the developer need to pre-allocate a server instance or worry about how the trigger would be notified of an upload. All of that is handled by OpenWhisk which uses publication/subscription message queues. When the queue receives a message it identifies any triggers that are linked to that queue and then allocates the required resources to enable the rules to be run.

Micro-services can then be chained together to create a larger application. An extension of the above might be to fire another trigger that used Watson to search for similar images on the web. It would then identify any images that may be subject to copyright.

Alternatively once the images are uploaded and tagged a trigger could run facial recognition on them. Any names could then be compared with a list to see if further actions were required. A trigger here could be to call security if a banned person was detected entering a sports ground.

Reducing costs in the cloud

This has a direct impact on costs. Companies no longer need to have VMs on standby mode ready to be instantiated when data arrives. Instead, those resources which cost money to pre-allocate are only charged for when they are actually used. This is not just about reducing the cost to cloud users but also to cloud providers. Instead of having parts of their infrastructure sitting doing very little, they should see a higher utilisation of compute assets in particular.

There are a number of interesting points here. We’ve had rule-based systems for decades such as ILOG which was acquired by IBM in 2009. This is not intended to be a replacement for or to duplicate how they work hence the fact that developers create a package. This is far from a simple composable end-user solution that would allow someone in the sales department, for example, to create a set of actions to take place when the monthly sales figures are known.

One of the risks is that the events triggered consume more compute power than expected for the company. This might lead to a cost overrun and it will be interesting to see how this is contained by OpenWhisk.

Conclusion

IBM hopes to see users not only create their own packages but share or even sell them on Bluemix. This would be an interesting market for a lot of developers but there are some caveats here. OpenWhisk does not stop the rules and actions being large chunks of code. Instead it will be down to organisations and developers to exercise some discipline. Because of this it is not possible to begin to estimate how much code will be reduced or saved by the reuse of rules and actions.

Even without being able to make an estimate there are some things that stand out here. The first is that developers and even operations teams should be able to upload packages and leave them to OpenWhisk to instantiate and allocate resources. The second is that a reasonable amount of discipline could create a lot of small rules that can be versioned and reused. This means that once a rule and action are created they can be validated and signed to show that they are safe to use.

This is an move that will get a lot of Bluemix developers taking a look. It will be interesting to see if IBM publishes any figures around its take up in Bluemix and Bluemix Local. The latter would be a key measure of how enterprise customers are seeing the ability of Bluemix OpenWhisk to accelerate their move to the cloud.

LEAVE A REPLY

Please enter your comment!
Please enter your name here