February 23, 2016 | Written by: Andreas Nauerz
Categorized: Community | Compute Services | What's New
Share this post:
Microservice architectures have emerged as the preferred way to engineer robust, scalable cloud-native solutions. They encapsulate application logic in small, loosely-coupled, distributed services communicating via language-agnostic APIs.
Despite their benefit, microservice-based solutions remain difficult to build using mainstream cloud technologies, often requiring control of a complex toolchain, and separate build and operations pipelines. Small and agile teams, spending too much time dealing with infrastructural and operational complexities (fault-tolerance, load balancing, auto-scaling, and logging), especially want a way to develop streamlined, value-adding code with programming languages they already know and love and that are best suited to solve particular problems.
Introducing OpenWhisk, a distributed compute service for developing and executing application logic in response to events.
- A rich set of building blocks that they can easily glue/stitch together
- The ability to focus more on value-adding business logic and less on low-level infrastructural and operational details
- The ability to easily chain together microservices to form workflows via composition.
Our value proposition and what makes us different is:
- OpenWhisk hides infrastructural complexity, allowing developers to focus solely on business logic
- OpenWhisk takes care of low-level details such as scaling, load balancing, logging, fault tolerance, and message queues
- OpenWhisk provides a rich ecosystem of building blocks from various domains (analytics, cognitive, data, IoT, etc.)
- OpenWhisk is open and designed to support an open community
- OpenWhisk supports an open ecosystem that allows sharing microservices via OpenWhisk packages
- OpenWhisk allows developers to compose solutions using modern abstractions and chaining
- OpenWhisk supports multiple runtimes including Node.js, Swift, and any binary programs encapsulated in Docker containers
- OpenWhisk charges only for code that runs.
The OpenWhisk model consists of three concepts:
- Trigger, a class of events that can happen
- Action, an event handler — some code that runs in response to an event
- Rule, an association between a trigger and an action.
Services define the events they emit as triggers, and developers define the actions to handle the events. A developer only needs to care about implementing the desired application logic – the system handles the rest.
Out of the box, OpenWhisk supports Cloudant and Github as event sources as well as the execution of scheduled actions. Packages to invoke the Watson Translation and Weather Service are being provided, too. Additionally it provides an open API, allowing any party to contribute a package of actions and triggers to the OpenWhisk ecosystem.
If you want to learn more about OpenWhisk, visit our OpenWhisk development center and read the announcement. To see OpenWhisk running in IBM Bluemix, sign-up for the OpenWhisk experimental program.