This Wiki is intended for our community to share their thoughts about and collaborate around any aspect of the project; whether it's about the platform architecture, an existing or planned feature or about its use cases and integrations, this is the place to do it.
Serverless computing is the evolutionary next stage in Cloud computing carrying further the abstraction offered to software developers using Container-based operating system virtualization. The Serverless paradigm enables programmers to just “write” functional code and not worry about having to configure any aspect of a server needed for execution. Such Serverless functions are single purpose and stateless that respond to event-driven data sources and can be scaled on-demand.
The Apache OpenWhisk Incubator project offers a truly open, highly scalable, performant distributed Serverless platform leveraging other open technologies along with a robust programming model, catalog of service and event provider integrations and developer tooling. Specifically, every architectural component service of the OpenWhisk platform (e.g., Controller, Invokers, Messaging, Router, Catalog, API Gateway, etc.) all is designed to be run and scaled as a Docker container. In addition, OpenWhisk uniquely leverages aspects of Docker engine to manage, load balance and scale supported OpenWhisk runtime environments including NodeJS, Go, Java, Scala, PHP, Python, Ruby, and Swift as well as recent additions for Ballerina, .NET and Rust that run Serverless functional code within Invoker compute instances, using Docker containers.
OpenWhisk's containerized design tenants not only allows it to be hosted in various IaaS, PaaS Clouds platforms that support Docker containers, but also achieves the high expectation of the Serverless computing experience by masking all aspects of traditional resource specification and configuration from the end user simplifying and accelerating Cloud application development. In order to enable HTTP requests as a source of events, and thus the creation of Serverless microservices that expose REST APIs, OpenWhisk includes an API Gateway that performs tasks like security, request routing, throttling, and logging.
The Apache OpenWhisk project is actively seeking new contributors to work on all aspects of the project. We need and appreciate all contributions, including documentation help, source code development and feedback.
Some basic steps for creating issues (i.e., for bugs or features):
Each sub-project of OpenWhisk has its own GitHub repository where each should have a README (.md, markdown) file that explains the subproject and provides information on how to install, configure and run that repository's code.
The OpenWhisk website (https://openwhisk.apache.org/) is generated automatically from the OpenWhisk project repository at: https://github.com/apache/incubator-openwhisk-website
Everyone can contribute to OpenWhisk project as a contributor; contributors who build up a history of successful contributions over time are invited to become committers. The difference is that committers have direct write (merge) access to the project code repositories, while contributors have read access and submit GitHub Pull Requests (or PRs) of their contributions for committers to merge following peer review. See http://www.apache.org/dev/contributors.html for a good overview of working as a contributor.
The OpenWhisk project asks that contributors to fill out and send into Apache, an Individual Contributors License Agreement (ICLA) (and perhaps also a Corporate Contributors License Agreement (CCLA)). It is our policy for Committers to not merge any contributions of significance (i.e., other than minor documentation, typos, or small single-line bug fixes) without verifying the submitter has a CLA on file with the Apache Software Foundation (ASF).
If you're interested in committing to the project, you need to establish a history, over time, of successful contributions to the project. After such recognition, you can then be invited to become a committer by the existing Podling Project Management Committee (PPMC) membership.
The existing Apache OpenWhisk PPMC members recognize individuals whose project contributions, across all community mediums, and outreach elevate them to a level in which their membership to the PPMC is requested. If you are invited to become a PPMC member and accept,