incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Incubator Wiki] Update of "OpenWhiskProposal" by FelixMeschberger
Date Fri, 04 Nov 2016 13:26:29 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The "OpenWhiskProposal" page has been changed by FelixMeschberger:

Restructure API Gateway references. It is expected that the API Gateway will be refactored
with additional code donated by IBM during incubation.

  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 (e.g., JavaScript,
Python, Swift, Java, etc.), 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 request routing, throttling and logging.
+ 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.
  == Rationale ==
@@ -49, +49 @@

  Issue tracking and project governance (milestones, epics) are also managed through GitHub
Issues and visualized through ZenHub. All “pull” requests, once passing automated tests
run by TravisCI, are reviewed by “core” contributors with “write” privileges. IBM
has also setup private staging servers to “stress” test the platform performance under
load and over extended periods of time before being merged into the main code branch. As part
of the incubation process we would make these staging tests public and have them be run by
  Currently, the project is not officially versioned and is considered an “experimental
beta”, but is marching towards milestone 10 that aligns with what is considered to be a
“beta” the end of October and another milestone 11 end of November 2016 which is considered
“GA” content for the “core” platform. Again, we would very much like to adopt an Apache
community system for deciding on milestones, constituent epics (features) along with dates
a versioning plan and communicate effectively using email lists, IRC and a project homepage
(which is currently lacking).
- In addition to the OpenWhisk core runtime, the API Gateway components of the projects are
published in a separate GitHub project ( under
the MIT license. The API Gateway components were initially released in August 2015. These
components include functionality for:
+ In addition to the OpenWhisk core runtime, IBM and Adobe plan to collaborate and contribute
to the API Gateway component under an open framework with the Apache community. The API Gateway
Framework component would provide essential support for a Serverless environment including
container services, platform services and traditional runtimes and provides functionality
for API security, request validation, request routing, rate limiting, logging, caching and
load balancing.
-  *  Request validation
-  *  Request tracking
-  *  Caching
-  *  Logging
-  *  Load Balancing
  == Meritocracy ==
@@ -185, +180 @@

              Place to submit interactive tutorials for OpenWhisk, its CLI and packages. Currently,
contains Javascript-based tutorial for learning the OpenWhisk CLI.

              This is a prototype extension for Visual Studio Code that enables complete round
trip cycles for authoring OpenWhisk actions inside the editor.
-   * API Gateway repos.:
+   * API Gateway Framework repositories:
+         There are existing discussions between IBM and Adobe about creating a comprehensive
API Gateway Framework that can support community contributions. We plan to move these discussions
into the Apache community and invite participation in shaping this framework to ensure the
best possible solution for Serverless.  At this time, the existing Adobe API Gateway provides
a valuable set of modularized components that will be part of this framework and the initial

              The main API Gateway repository containing basic configuration files and a Dockerfile
to build all modules into a single container.
+         Under this repository, you will find complete and conformant code modules for the
following functions:
+             * Request Validation (e.g., OAuth, API-KEY) and tracking,
+             * Configuration syncing with multiple Cloud storage solutions,
+             * API Request Caching and Mgmt.,
+             * Asynchronous logging (API traffic),
+             * ZeroMQ adapter with logger,
+             * NGINX extensions (i.e., AWS SDK)
-             Module to validate the incoming API requests with support for OAuth 2.0, OAuth
1.0, and API-KEYs.
-             Support for Throttling & Rate Limiting
-             Syncs config files from Amazon S3, Google Drive, Dropbox, Amazon Cloud Drive
reloading the API Gateway with the updates
-             API request caching. This module manages multiple cache stores ( i.e. Redis
cache, in-memory cache )
-             Performant asynchronous logger used for capturing usage data based on the incoming
API traffic
-             ZeroMQ Adaptor for the API Gateway
-             Logging module for ZeroMQ
-             AWS SDK for NGINX
-             HMAC support for Lua with multiple algorithms, via OpenSSL
+             * HMAC support for Lua (multiple algorithms, via OpenSSL)
+         During the incubation, this code will likely be restructured to accommodate additional
code from other sources as agreed to by Apache and the PPMC.
  = Source and Intellectual Property Submission Plan =

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message