OpenWhisk  

OpenWhisk is an open source, distributed Serverless computing platform able to execute application logic (Actions) in response to events (Triggers) from external sources (Feeds) or HTTP requests governed by conditional logic (Rules). It provides a programming environment supported by a REST API-based Command Line Interface (CLI) along with tooling to support packaging and catalog services.  Additionally, it now provides options to host the platform components as Docker containers on various Container Frameworks such as Mesos, Kubernetes, and Compose.

 

OpenWhisk has been incubating since 2016-11-23.

   Three most important issues to address in the move towards graduation:    

  1. Establish process for source release (automation work ongoing here https://github.com/apache/incubator-openwhisk-release)
  2. Increase additional company and individual Contributors to maintain all project repos.
  3. Kubernetes and Mesos deployments work and integrations need improvement; comm, aware of lots of work being done in (private and public) forks.

   Any issues that the Incubator PMC (IPMC) or ASF Board wish/need to be aware of?    

  • Issue backlog building on incubator-openwhisk has grown significantly; need to prioritize and work to reduce while advancing performance/security/deployment issues.
    • Trying to add more active Committers to augment those who have dropped off in their activity. A consistent hosted, staging environment would help repro. issues, as well as stage PRs to test fixes.
  • It had been our intent to have Apache host our staging (and move it out of disparate private builds within various companies). However, INFRA indicates they only typically allocate 1 VM per project for use with demos and minor things.  They indicate that perhaps a corporate donation is in order (ala. Spark).
  • Formal hand-off of OpenWhisk trademark/logo from IBM needs to be executed; need to identify process for this.
    • Discussion started w/ Apache legal via "legal-discuss" mailing list with subject "Trademark handoff for "OpenWhisk" name and logo".
    • No change in status since last quarterly report

How has the community developed since the last report?    

  • Mentor changes:
    • Felix Meschberger and Sergio Fernández have stepped down from being mentors with regrets.
    • Bertrand Delacretaz volunteered to become mentor to fill Felix' spot. 
    • Jim Jagielski volunteered to become mentor to fill Sergio's spot.
  • dev mailing list usage has been relatively active
  • incubator-openwhisk Github stars: 2877 (+696 since last report)

  • incubator-openwhisk GitHub forks: 544 (+75 since last report)

New Contributors

How has the project developed since the last report?

  • Emphasis on 3 areas have been featured since last report:
  • Release process
    • See incubator-openwhisk-release (code, tools, documentation), see demo (as of 2/28): YouTube
      • Lots of discussion and work on developing both a manual and automated (source code) release process for 12 openwhisk project repos. that constitute the project's platform and related tooling (i.e., version tied).
      • All steps in release process are described in repo's markdown that the comm. is working to complete
      • Checklists/Runbooks created for release managers to follow
      • Automation tested with signing/hashing as per Apache requirements
      • still working on assuring all Apache license/legal/notice/change files are present (perhaps automated as well)
        • issues with RAT and TENTACLES tools documented, working to document our exception lists and policies and alternative tools to verify licenses when not supported by RAT
  • Security enhancements
    • Now encrypting "data-in-motion" by enabling SSL between Controllers, Kafka and Invokers.
  • Scalability / Performance
    • Controller now uses fully scalable impl. instead of active with "hot standby"; lots of testing/changes to validate as optional before moving to promote as default on dev. list.
    • Introduced new LoadBalancer plug-in that uses Horizontal sharding; evaluating making it the default as perf. tests indicate notable improvement in controller-invoker throughput under load.
    • Improved handling of Artifact Attachments as a separate artifact (for storage/update/deletion) and provide alternative implementations (other than CouchDB), primarily Object Storage services as targets.
    • Made ActivationId implementation leaner by adopting UUID (single string) versus an object that wraps a UUID.

  • Other Notable discussions/changes/issues/features:
    • Added support of Time-series DBs using Kamon Tag (e.g., OpenTSDB, Datadog)
    • Discussions on large (size) argument support in runtimes/impacts on performance/configurability.
       
    • Updated all tools/ubuntu-setup to support xenial and later Ubuntu releases.
    • Implementation of runtime for Go (GoLang) actions.  New contributor authored new Invoker runtime and tested with 3 possible impls. for performance before submitting for review.
    • Action Compositions now supported in Controller and demonstrated on Interchange call; more changes may be coming for Controller to enable parallel processing.
    • Added A Pull Request (PR) template (checklist) for all code submissions (incubator-openwhisk) to assure they are ready for review and get assigned correctly.
    • Action time limits are now configurable.

   How would you assess the podling's maturity?  Please feel free to add your own commentary.    

   [ ] Initial setup

   [X] Working towards first release  

   [X] Community building

   [ ] Nearing graduation  

   [ ] Other:  

Comments:

  • Need greater variety of contributors and contributing companies

 Date of last release:    

  • N/A   

When were the last committers or PPMC members elected?    

  • New Committers+PPMC: Dave Grove (2018-02-08), James Thomas (2018-02-08) Mark Deuser (2018-02-22)
  • New Committers: Priti Desai (2018-02-19)

Signed-off-by:    

[ ](openwhisk) Bertrand Delacretaz  Comments:

[ ] (openwhisk) Jim Jagielski  Comments:  

[ ](openwhisk) Isabel Drost-Fromm   Comments:  

  • No labels