Open Source Serverless Cloud Platform

Executes functions in response to events at any scale

What is Apache OpenWhisk?

Apache OpenWhisk (Incubating) is an open source, distributed Serverless platform that executes functions (fx) in response to events at any scale. OpenWhisk manages the infrastructure, servers and scaling using Docker containers so you can focus on building amazing and efficient applications.

The OpenWhisk platform supports a programming model in which developers write functional logic (called Actions), in any supported programming language, that can be dynamically scheduled and run in response to associated events (via Triggers) from external sources (Feeds) or from HTTP requests. The project includes a REST API-based Command Line Interface (CLI) along with other tooling to support packaging, catalog services and many popular container deployment options.

Create Your Local Playground
Events trigger the Apache OpenWhisk platform to run Actions or functions in various supported languages.
Apache OpenWhisk can deploy on your favorite Cloud container framework.

Deploys anywhere

Since Apache OpenWhisk builds its components using containers it easily supports many deployment options both locally and within Cloud infrastructures. Options include many of today's popular Container frameworks such as Kubernetes, Mesos and Compose. Recent contributions even include deployment options such as Minikube and OpenShift.

Write functions in any language

Work with what you know and love. Code in your favorite languages such as NodeJS, Swift, Java, Go, Scala, Python, PHP. If you need languages or libraries the current "out-of-the-box" runtimes do not support, you can create and customize your own executables as Zip Actions which run on the Docker runtime by using the Docker SDK. Some examples of how to support other languages using Docker Actions include Rust, and Haskell.

Create Your First Action
Node Runtime
OpenWhisk's out-of-box packages easily integrate with our own services

Integrate easily with many popular services

With Apache OpenWhisk you can easily create actions, test, connect to other actions or debug them. Use the wsk CLI, target your Apache OpenWhisk instance, and run your first action in seconds.

Apache OpenWhisk makes it simple for thousands of developers to integrate with your service. Make it easy for developers to perform actions when something happens in your service, or to send data into your service when things happen somewhere else.

Combine your functions into rich compositions

Code in different languages like JavaScript/NodeJS, Swift, Python, Java or run custom logic by packaging code with Docker. Invoke your code synchronously, asynchronously, or on a schedule. Use higher-level programming constructs like sequences to declaratively chain together multiple actions. Use parameter binding to avoid hardcoding service credentials in your code. And also, debug your code in realtime using variety of Development Tools.

OpenWhiks allows you to create compositions from Actions in any supported language.
Apache OpenWhisk automatically scales and maximizes and server utilization as events trigger action functions.

Scaling Per-Request & Optimal Utilization

Run your action ten thousand times in a fraction of a second, or once a week. Action instances scale to meet demand as needed, then disappear. Enjoy optimal utilization where you don't pay for idle resources.

Join a vibrant open source community

Play a critical part in building game-changing cloud technology. Share your actions and triggers with the community, add your service to the Apache OpenWhisk ecosystem, or join the development effort to make Apache OpenWhisk even better.

Join the OpenWhisk Community