Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
How to contribute to Serverless Apache OpenWhisk OpenSource101 NCSU
1. @csantanapr
Apache OpenWhisk
How to contribute to Apache OpenWhisk
OpenSource101 February 4th 2017
Carlos Santana, Senior Software Architect | @csantanapr
3. @csantanapr
Apache (apache.org)
• The Apache Software Foundation (ASF)
• Non-profit 501(c)(3) corporation (1999)
• Provide a foundation for open, collaborative
software development projects
• Create an independent legal entity to which
companies and individuals can donate resources
and be assured that those resources will be used
for the public benefit
• Provide a means for individual volunteers to be
sheltered from legal suits directed at the
Foundation's projects;
3
6. @csantanapr
OpenWhisk is Serverless
• OpenWhisk
– Introduces event programming model
– Charges only for what is used
– Auto-scales
Deploy action within millisecs,
run it,
free up resources
Trigger
1
Running
action
Running
action
Running
action
3
OpenWhisk
Engine
2 Pool of actions
Swift DockerJS
Java Python
16. @csantanapr
Roles
• User
• Developer
• Committer
• Project Management Committee (PMC) Member
• http://www.apache.org/foundation/how-it-works.html#roles
16
17. @csantanapr
Users
• A user is someone that uses our software. They contribute to the
Apache projects by providing feedback to developers in the form of
bug reports and feature suggestions. Users participate in the
Apache community by helping other users on mailing lists and user
support forums.
17
22. @csantanapr
Developers
• A developer is a user who contributes to a project in the form of code
or documentation. They take extra steps to participate in a project,
are active on the developer mailing list, participate in discussions,
provide patches, documentation, suggestions, and criticism.
Developers are also known as contributors .
22
26. @csantanapr
Committers
• A committer is a developer that was given write access to the code
repository and has a signed Contributor License Agreement (CLA)
on file. They have an apache.org mail address. Not needing to depend
on other people for the patches, they are actually making short-term
decisions for the project. The PMC can (even tacitly) agree and
approve it into permanency, or they can reject it. Remember that the
PMC makes the decisions, not the individual committers.
26
33. @csantanapr
PMC Member
• A PMC member is a developer or a committer that was elected due
to merit for the evolution of the project and demonstration of
commitment. They have write access to the code repository, an
apache.org mail address, the right to vote for the community-related
decisions and the right to propose an active user for committership.
The PMC as a whole is the entity that controls the project, nobody else.
In particular, the PMC must vote on any formal release of their
project's software products.
33
35. @csantanapr
OpenWhisk in a nutshell
• OpenWhisk…
– allows you to focus on developing value-adding code
– provides you with a flexible programming model for small agile teams
– provides you with access to an open ecosystem of building blocks
– allows you to compose powerful solutions using modern abstraction
and chaining
– allows you to share and reuse what you have build
– allows you to outsource load & calculation intensive tasks
– only charges you for what you really use
– is available as open solution in which you can participate
36. @csantanapr
OpenWhisk in a nutshell
Serverless deployment & operations model
We hide infrastructural and operational complexity allowing you to focus on coding:
You provide code – we execute it!
Optimal utilization, fair pricing at any scale
We provide you exactly with the resources you need – neither less nor more - and charge
you only for code really being executed
Flexible programming model & powerful tooling
We support multiple languages (incl. Swift) and even the execution of custom logic via
docker containers plus tools to declaratively chain your code snippets
Open & open ecosystem
Open to run anywhere to avoid any kind of vendor lock-in and to accelerate the
development of a powerful ecosystem
37. @csantanapr
Some usage scenarios
Batch-Processing Multimedia Files like Images and Videos
(using Box*, with Image Recognition or other Cognitive Services)
Reacting on Activities tied to Physical Locations
(using Presence Insights, Push, Cognitive Services)
Reacting on Data (Streams) Received from the Internet of Things
(using IoT Services, Cloudant & Spark)
Reacting on Keywords and Trends Detected by (Stream) Analysis
(using Streaming Analytics & Insights for Twitter)
Reacting on Voice Commands
(using Watson Speech-to-text)
Reacting on Monitored Data to Auto-Provision More Compute/Storage
(using Monitoring. like Maximo)