explaingit

apache/openwhisk

6,777ScalaAudience · ops devopsComplexity · 4/5LicenseSetup · hard

TLDR

An open source serverless platform where you write functions in any supported language and deploy them to respond to HTTP requests, message queues, or timers, without managing servers yourself.

Mindmap

mindmap
  root((OpenWhisk))
    What it does
      Serverless functions
      Event-driven execution
      No server management
    Triggers
      HTTP requests
      Scheduled timers
      Message queues
    Deployment
      Standalone local mode
      Kubernetes cluster
      Docker containers
    Languages
      Multiple runtimes
      Multi-repo components
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Deploy a serverless function that responds to HTTP API requests without provisioning or managing any servers.

USE CASE 2

Chain multiple functions into a workflow triggered by a message queue event or a scheduled timer.

USE CASE 3

Run OpenWhisk locally in standalone single-process mode to develop and test functions before deploying to a cluster.

USE CASE 4

Self-host a full serverless platform on Kubernetes for complete control over infrastructure and data.

Tech stack

ScalaJavaDockerKubernetesApache Pekko

Getting it running

Difficulty · hard Time to first run · 1h+

Full cluster deployment requires Kubernetes, local standalone mode still requires Docker and Java.

Free to use for any purpose including commercial projects, just keep the copyright notice in your distribution.

In plain English

Apache OpenWhisk is an open source platform for running serverless functions. Serverless means you write small pieces of code called functions, and the platform handles all the infrastructure work of running them, such as deciding when to start a server, scaling up under load, and shutting things down when they are not needed. You do not manage servers directly. With OpenWhisk, you can write functions in multiple programming languages and deploy them to respond to events. An event might be an HTTP request arriving at an API endpoint, a message from a queue, a scheduled timer, or many other triggers. You can chain functions together into workflows and set up rules that connect events to specific functions. You can run OpenWhisk on your own machine for development using a standalone mode that starts as a single Java process, with functions running inside Docker containers. A browser-based playground starts automatically and lets you write and test functions without any additional setup. For larger deployments, OpenWhisk can run on Kubernetes, either on a managed cloud service or on hardware you control. The project is part of the Apache Software Foundation and is licensed under Apache 2.0. The codebase is split across multiple repositories covering different components, such as the core platform, language runtimes, and deployment tools. In late 2025 the project migrated from one internal framework to another called Apache Pekko, which is a breaking change that requires redeploying clusters rather than upgrading in place. Community support is available through GitHub issues and a public Slack workspace.

Copy-paste prompts

Prompt 1
Walk me through deploying a Python function to Apache OpenWhisk that runs on an HTTP trigger and returns a JSON response.
Prompt 2
How do I chain three OpenWhisk functions into a sequence that runs when a scheduled timer fires?
Prompt 3
Set up Apache OpenWhisk locally in standalone mode using the single-process Java jar and test a function using the browser-based playground.
Prompt 4
Write an OpenWhisk action that listens to a message queue and processes each message by calling an external REST API.
Open on GitHub → Explain another repo

← apache on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.