Apache OpenWhisk is a powerful serverless platform enabling developers to build scalable, event-driven applications with minimal infrastructure management[4].
Core Features
- Event-driven architecture: Execute code in response to events from external triggers (e.g., MQTT messages, HTTP requests, database changes). For example, sensor data can trigger database updates via rules linking triggers to actions[1][4].
- Web Actions: Serve dynamic or static web content directly through REST APIs without authentication. Return HTML, JSON, images, or custom headers (e.g., cookies, redirects) for full web application support[2][6].
- Action Sequences: Chain multiple actions into workflows, passing outputs between steps. Built-in utilities like
split
andsort
simplify data processing pipelines[3][4]. - Polyglot Runtime Support: Write functions in JavaScript, Python, Java, or other languages, with automatic scaling based on demand[3][4].
- Integrated Tooling: Use the
wsk
CLI for deployment, logging, and monitoring, or integrate with DevOps pipelines for automated workflows[3][4].
Use Cases
- IoT data processing (e.g., real-time sensor analytics)[1].
- Web/mobile backends with dynamic API responses[2][6].
- Batch data transformations using sequential workflows[3][4].
Citations:
[1] https://blog.zhaw.ch/splab/2019/03/15/building-a-sample-mqtt-based-application-on-openwhisk/
[2] https://github.com/apache/openwhisk/blob/master/docs/webactions.md
[3] https://github.com/apache/openwhisk/blob/master/docs/actions.md
[4] https://openwhisk.apache.org/documentation.html
[5] https://www.raymondcamden.com/2017/10/02/reading-a-text-file-on-openwhisk
[6] https://www.raymondcamden.com/2017/03/02/designing-an-openwhisk-action-for-web-action-support
[7] https://openwhisk.apache.org