Polyglot Serverless

Write functions in your preferred language. Apache OpenWhisk supports 9 official runtimes plus any custom Docker-based environment.

Official Runtimes

js
JavaScript / Node.js 14 / 16 / 18

Most popular. npm packages supported via ZIP bundles.

python
Python 3.x

pip packages via virtualenv ZIP. Great for ML/AI workloads.

java
Java 8

JAR-based deployment. Full Java ecosystem.

go
Go 1.15, 1.19

Single binary deployment. Excellent performance.

php
PHP 7.4, 8.0, 8.1

composer packages via ZIP bundles.

ruby
Ruby 2.5

gem packages supported.

swift
Swift 4.2, 5.1

Ideal for Apple ecosystem integration.

net
.NET (C# / F#) 2.2, 3.1

Full .NET SDK access.

rust
Rust 1.34

Memory-safe systems programming.

Custom / Experimental

docker
Docker (any language) any

Bring your own runtime image. Haskell, Deno, Ballerina, etc.

Same Function, Multiple Languages

hello.js
function main(p) {
  return {
    msg: "Hello, "
       + p.name
  };
}
hello.py
def main(p):
  return {
    "msg": "Hello, "
          + p.get("name")
  }
hello.go
func Main(p map[string]
    interface{}) map[string]
    interface{} {
  return map[string]
    interface{}{
    "msg": "Hello",
  }
}