Apache OpenWhisk resources and tips.
Apache OpenWhisk is a cloud-first distributed event-based programming service. It provides a programming model to upload event handlers to a cloud service, and register the handlers to respond to various events.
Learn more at http://openwhisk.org or try it on IBM Cloud Functions.
Articles, tutorials and blogs on building serverless applications using Apache OpenWhisk.
- Uncovering the magic: How serverless platforms really work! - A step by step guide through the inner guts of OpenWhisk.
- How to make serverless platforms blazing fast! - How OpenWhisk makes executing actions so fast...
- OpenWhisk Planner Bot - Plan your conference schedule with a serverless recommendation bot
- Exploring OpenWhisk's REST API - Details on the platform API for OpenWhisk.
- Building an MQTT Feed Provider - Walking through adding a new Feed Provider for IoT integration.
- NPM Modules in OpenWhisk - Using NPM modules in OpenWhisk Actions.
- Python Packages in OpenWhisk - Using external Python libraries in OpenWhisk
- Docker Actions in OpenWhisk - Running custom runtimes on OpenWhisk with Docker.
- Using Go with OpenWhisk - Running Go binaries on OpenWhisk
- SMS Bot - SMS Bot with Twilio and Slack
- Databases Updates And Actions - React to Database Changes with OpenWhisk Actions
- Serverless PHP Webhooks - Handle Webhooks with Serverless PHP on OpenWhisk
- Package Parameters - Storing package parameters for actions
- Serverless Search Engine - Building Your Own Serverless Search Engine with OpenWhisk
- Uploading Files to an OpenWhisk Action - Handling form uploads in actions
- JSON Web Tokens and OpenWhisk - Securing OpenWhisk actions with JWTs.
- Deploying OpenWhisk on Kubernetes - Starting OpenWhisk on Minikube.
- Starting OpenWhisk in Sixty Seconds - Using Docker Compose to start OW locally.
- Facebook Chat Bots with OpenWhisk - Creating chat bots on serverless platforms.
- Getting Started with Serverless PHP - Introduction to PHP runtime on OpenWhisk.
- OpenWhisk Alexa Skills - Creating Alexa skills with Swift on OpenWhisk
Sample open-source projects built using the OpenWhisk platform
- openwhisk-emoting - Capture audience feedback with a serverless app 😄 😡
- alexa-skill-watson-conversation - Alexa Skill using OpenWhisk, IBM Watson Assistant and Weather Channel Data
- keynuker - nuke AWS keys accidentally leaked to Github
- skylink - Connect and control a DJI drone aircraft over the Internet with OpenWhisk.
- BluePic - Photo sharing application for iOS using Swift Actions for the backend.
- Conference Plan Bot - Conference planning bot built using serverless functions.
- Project OpenFridge - Improving customer service with IoT and event-driven computing.
- Project OpenChecks - Processes the deposit of checks to a bank account with object storage and OCR.
- openwhisk-slackapp - Serverless Slack app built with Slack Events API and OpenWhisk.
- openwhisk-visionapp - Image tagging and face detection iOS app built with OpenWhisk.
- openwhisk-darkvision - Discover dark data in videos with IBM Watson and IBM Cloud Functions
- openwhisk-jq - OpenWhisk Action wrapping the JQ command-line utility for JSON filtering.
- Personality Analysis - Analysing political speeches using IBM Watson.
- smsbot - SMS Bot for Slack using Twilio and OpenWhisk
- alexa-project-name-generator - Alexa skill to generate a codename for your next project
Podcasts, videos, presentations and other content about Apache OpenWhisk.
- Automating Actions - Using Triggers with Actions.
- OpenWhisk YouTube Channel - All OpenWhisk-related videos.
- Building Slack Bots with OpenWhisk - Using OpenWhisk to build a Weather Slack Bot.
- Project OpenFridge - Improving customer service with IoT and event-driven computing.
- Build a cloud native app with Apache OpenWhisk - An overview of serverless architectures, introduction to the OpenWhisk programming model, and deployment of an OpenWhisk application on IBM Bluemix.
- Getting Started With Apache OpenWhisk - Learn how to create your first Serverless application with Apache OpenWhisk.
- Working With OpenWhisk - Part 1 - Getting started with OpenWhisk videos series.
- Working with OpenWhisk - Part 2 - Asynchronous Actions
- Working With OpenWhisk - Part 3 - Handling Errors
- Event-driven and Serverless Computing with OpenWhisk - Video from Serverless Conf London 2016 by Andreas Nauerz & Michael Behrendt
- OpenWhisk Under the Hood - Video from Serverless Conf London 2016 by Stephen Fink
- Lightning talk introducing serverless architectures and OpenWhisk - IBM keynote at CloudNativeCon + KubeCon 2016. Video also available.
- Tech Talk about OpenWhisk - Detailed look at this new open source platform from Stephen Fink.
- The Future Of Cloud Programming - IBM Bluemix OpenWhisk Talk @ Codemotion 2016, Amsterdam
- Serverless Applications with Cloud Foundry and OpenWhisk - Video from Cloud Foundry Summit 2016.
- Microservices Without Servers - Slides, demo videos and sample code from conference talk on building serverless applications with OpenWhisk.
- OpenWhisk - A platform for cloud native, serverless, event driven apps - Presentation from Cloud Native Day Toronto. Video also available.
- The Serverless Paradigm, OpenWhisk and FIWARE - Presentation at the FIWARE Summit by Alex Glikson (video here).
- Serverless Swift with OpenWhisk - Using Swift on OpenWhisk to build APIs
- Official OpenWhisk Slides - Presentation decks from OpenWhisk team.
- What Makes IBM OpenWhisk Different? Openness - The New Stack podcast with Andreas Nauerz and Michael Behrendt.
- The Cloudcast #252 - Interview with OpenWhisk team about the future of serverless computing.
- InfoQ Interview - Q&A with Michael Behrendt on IBM's Event-driven Programming Service.
- #vSurround: Are Serverless Architectures Ready for Primetime? - Roundtable discussion with Daniel Krook (IBM), Adam Johnson (IOpipe), David Wells (Serverless), and Ryan Scott Brown (Red Hat) about serverless definitions, use cases, and what's to come in 2017.
- The FaaS and the Furious - Serverless Architecture with Apache OpenWhisk description
Tutorials and other material to help you learn OpenWhisk
- Apache OpenWhisk Workshop - Complete bootcamp workshop on learning how to use OpenWhisk.
- openwhisk-workshop - Command-line utility to introduce the concepts behind the platform using NodeSchool toolchain.
Links to samples, libraries and projects for running Actions using different languages.
- JavaScript - OpenWhisk runtime for Node.js (v6 & v8).
- Java - OpenWhisk runtime for Java 8.
- Python - OpenWhisk runtime for Python 2.7 & 3
- Swift - OpenWhisk runtime for Swift 3 & 4.
- Docker - OpenWhisk runtime for Docker Actions using SDK.
- PHP - OpenWhisk runtime for PHP 7.2 and 7.1
- Go - OpenWhisk runtime for Go lang.
- Ruby - OpenWhisk runtime for Ruby lang.
- Scala - Example article with Github code for running OpenWhisk Actions in Scala.
- Haskell - Haskell-based OpenWhisk services
- Docker Examples - Run Clojure, Erlang, Ruby and Rust Actions on OpenWhisk using Docker.
- Rust - Blog post and library for building Rust language Actions.
- COBOL - Run serverless COBOL programs on OpenWhisk
- QBASIC - QBASIC on OpenWhisk
- Kotlin - IBM Functions (OpenWhisk) runtime for Kotlin Actions
- Prolog - OpenWhisk Runtimes for SWI Prolog
- Ballerina - Apache OpenWhisk runtime for Ballerina
- Blue Cloud Mirror - Fun game built with Vue.js, TensorFlow and IBM technologies
Examples of integrating OpenWhisk with external event sources.
- openwhisk-package-imap - OpenWhisk Package to expose IMAP emails as a trigger feed.
- openwhisk-package-template - This is a template to be use when creating new packages for OpenWhisk.
- openwhisk-package-iot - Package including all actions and feeds of Watson IoT Platform.
- openwhisk-mqtt-feed - MQTT package for OpenWhisk, provides a topic subscriber feed.
- openwhisk-package-mqtt-watson - OpenWhisk MQTT Package for Watson IoT service.
- amqp-wsk-feed - AMQP package for OpenWhisk
- jms-feed-provider - JMS Feed Provider
- AWS OpenWhisk integration - Package to integrate Amazon Web Services (AWS) with OpenWhisk
Tools and utilities to help you be more productive with OpenWhisk
- swagger-openwhisk - Generate a fully functional whisk package and actions from a swagger specification
- openwhisk-webpack - Demonstration of using Webpack to bundle OpenWhisk Actions.
- openwhisk-es6-action - Sample project showing how to bundle ECMAScript6 actions including unit tests and code coverage.
- hubot-ibmcloud-openwhisk - Hubot scripts for OpenWhisk.
- node-red-node-openwhisk - Node-RED nodes for interacting with OpenWhisk platform.
- openwhisk-vscode - Plugin for Visual Studio Code to provide OpenWhisk commands.
- openwhisk-apiapp - Proxies calls to OpenWhisk Actions using NGINX to enables CORS
- openwhisk-canirequire - Find out which NPM modules can be used in OpenWhisk.
- openwhisk-metrics - Node.js library to collect serverless application metrics from OpenWhisk actions
- Jupyter Notebooks integration - Jupyter Notebooks as OpenWhisk Actions
- logstash-input-openwhisk - Logstash plugin to drain OpenWhisk logs to Elastic Search.
- wab (whisk activation browser) - A terminal-mode browser for inspecting OpenWhisk activations.
- Node.js - JavaScript client library for the OpenWhisk platform.
Got stuck with Apache OpenWhisk? Find help here…