Microservices and OpenWhisk Made Simple: the Story of Dave
We already have quite a few posts talking about the ins and outs of OpenWhisk. This promising open-source product for creating event-based microservices is available on IBM Bluemix as a service. At IBM InterConnect, Dr. Andreas Nauerz summarized OpenWhisk and told of a scenario where it may fit.
What is OpenWhisk?
“OpenWhisk is an event-action platform that allows you to execute code in response to events,” said Dr. Andreas as he condensed OpenWhisk’s most prominent features into four major points:
- Serverless deployment and operations model. In OpenWhisk, infrastructural and operational complexities are hidden, so developers can focus on coding.
- Optimal utilization and fair pricing at any scale. Resources are provided exactly as needed, so users are charged only for code that is actually executing and not just being idle.
- Flexible programming model and powerful tooling. Support for multiple languages including Swift and Node.js. Support for the execution of custom logic via Docker containers.
- Open and open ecosystem. OpenWhisk is open-source, which allows it to be run anywhere to avoid vendor lock-in.
To demonstrate how OpenWhisk provides value to a business, Dr. Andreas tells the story of Dave, a lead architect of an online photo community and marketplace.
Dave and his team are in a competitive industry, so to have an advantage over their competitors, they need to add innovative features.
With an idea in mind, they start to collect requirements. In the past, they would spent a lot of time and effort dealing with operational and infrastructural aspects. This time, they want to focus on developing value-adding code. OpenWhisk enables them to do so, because it hides all the complex details.
“OpenWhisk simplifies the development process by allowing you to simply do one thing that you as as developer want to do: coding.” —Dr. Andreas Nauerz, IBM
Dave and his team have adopted an agile approach to development, where they have smaller teams working on individual components. OpenWhisk gives them a flexible programming environment and model that allows them to reuse the skills and technologies each team specializes in.
Access to the Bluemix services catalog
Dave and his team don’t want to recreate solutions that already exist. They want access to an open ecosystem which provides them building blocks from multiple domains such as cognitive analytics. IBM Bluemix gives them this access.
“We made OpenWhisk open-source, because we wanted people to participate and contribute in accelerating the development of a rich open ecosystem.” —Dr. Andreas Nauerz, IBM
Dave wants the ability to stitch the individual building blocks together. OpenWhisk is able to do this without having to continuously change code.
OpenWhisk allows Dave and his team to reuse and share building blocks that have been created previously, effectively removing any potential redundancies in development.
With the idea of building a mobile app, Dave and his team need a solution that allows them to outsource compute intensive tasks to a highly scalable cloud platform. OpenWhisk makes this easy by providing SDKs such as the Docker and iOS SDK.
No activity, no charges
Dave and his team have struggled in the past with providers charging them for resources that aren’t always used and are sometimes idle. With OpenWhisk, they are charged only when code is actually being run.
“OpenWhisk is a solution where you only pay when code is run.” —Dr. Andreas Nauerz, IBM
Dave and his team don’t want a solution where they can get vendor locked-in. With OpenWhisk as an open-source solution, they are able to maintain the freedom to be flexible.
Getting an easy start
“How does OpenWhisk fit in the world of Bluemix?” asks Dr. Andreas. “OpenWhisk is not meant to replace the products that we already have in Bluemix. They are meant to coexist.”
Virtual Machines give you the control and flexibility in your environment in choosing the CPU, memory, storage, and operating system. On the other hand, OpenWhisk is all about getting you started easy as a developer—allowing you to focus on code and not have to worry about the low-level details.
Want details? Watch the videos!
- Introduction to IBM Bluemix OpenWhisk
- IBM Bluemix OpenWhisk 101: Developing a Microservice
- Reducing Complexity of Software with Domain-Driven Design and Microservices
- Event-Driven IoT: Challenges, Requirements, and the Difference with IBM OpenWhisk
About the expert