Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

CNCF Projects to integrate with

Data Plane

Candidates: 

  • Envoy
  • Nginx

Requirements for Data Plane:

  • Invoke an authN/authZ service, reusing the existing authN/authZ implementation in OpenWhisk
    • it may be possible to implement this inside the proxy itself. i.e. NGINX supports extensibility through lua thanks to Openresty.
  • Routing
  • Throttling 
    • Respect namespace limits
    • Respect Action level concurrency 
  • Caching the response, based on what the action returns. I.e. an action that validates an OAuth token could instruct the system to cache the response for that token until the token expiration time.
  • Support for Observability: Metrics, activation info, tracing, etc

Control Plane

Candidates:

  • TBD

Control Plane concerns:

  1. Cold-start actions - allocate resource
  2. Garbage Collect idle actions - de-allocate resources

The Control Plane should be used by the Data Plane only when cold-starting new actions.

Cold-start

When allocating resources, Placement Strategies should consider CPU, MEM, GPU, Network, and other resources an action might consume.

GC

When de-allocating resources GC should consider fragmentation. This is particularly important when scaling down the nodes running actions

Management Plane

It can reuse the OpenWhisk implementation. 

Previous discussions

Provide support for integration with Kubernetes. One approach could be to deploy and run the components on a Kubernetes provider as we do for Vagrant, Docker, Docker-Compose, and OpenStack.

...