Switch branches/tags
Nothing to show
Find file History
Permalink
..
Failed to load latest commit information.
dev Add module listing page with required tooling (#3825) Jul 12, 2018
images Remove Consul from "The Internal flow of processing" section diagram … May 11, 2018
README.md Remove IBM Cloud reference from README. (#3773) Jun 15, 2018
about.md Fix outdated docs in about.md and actions.md (#3683) May 21, 2018
actions-docker.md Reorganize actions docs (#3816) Jun 29, 2018
actions-go.md Reorganize actions docs (#3816) Jun 29, 2018
actions-java.md Reorganize actions docs (#3816) Jun 29, 2018
actions-new.md Modify unicode tests file name (#3865) Jul 10, 2018
actions-node.md Reorganize actions docs (#3816) Jun 29, 2018
actions-php.md Add support for PHP 7.2 runtime (#3736) Jul 3, 2018
actions-python.md Reorganize actions docs (#3816) Jun 29, 2018
actions-swift.md Document adding a new runtime kind. (#3837) Jul 7, 2018
actions.md Document adding a new runtime kind. (#3837) Jul 7, 2018
annotations.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
apigateway.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
catalog.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
cli.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
conductors.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
deploy.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
feeds.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
logging.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
mesos.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
metrics.md Fix typos in metrics doc (#3833) Jul 5, 2018
mobile_sdk.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
packages.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
parameters.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
reference.md Reorganize actions docs (#3816) Jun 29, 2018
rest_api.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
samples.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
security.md add a doc for securing actions (#3801) Jun 25, 2018
spi.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
triggers_rules.md Fix markdown files with a typo. in the Hash license header. (#3633) May 10, 2018
use_cases.md Update Bluemix references in docs (#3673) May 19, 2018
webactions.md Add support for PHP 7.2 runtime (#3736) Jul 3, 2018

README.md

Getting started with OpenWhisk

OpenWhisk is an Apache Incubator Project. It is an open source implementation of a distributed, event-driven compute service. You can run it on your own hardware on-prem, or in the cloud. When running in the cloud you could use a Platform as as Service (PaaS) version of the OpenWhisk provided by IBM Cloud Functions, or you can provision it yourself into Infrastructure as a Service (IaaS) clouds, such as IBM Cloud, Amazon EC2, Microsoft Azure, Google GCP, etc.

OpenWhisk runs application logic in response to events or direct invocations from web or mobile apps over HTTP. Events can be provided from IBM Cloud services like Cloudant and from external sources. Developers can focus on writing application logic, and creating actions that are executed on demand. The benefits of this new paradigm are that you do not explicitly provision servers and worry about auto-scaling, or worry about high availability, updates, maintenance and pay for hours of processor time when your server is running but not serving requests. Your code executes whenever there is an HTTP call, database state change, or other type of event that triggers the execution of your code. You get billed by millisecond of execution time (rounded up to the nearest 100ms in case of OpenWhisk) or on some platforms per request (not supported on OpenWhisk yet), not per hour of JVM regardless whether that VM was doing useful work or not.

This programming model is a perfect match for microservices, mobile, IoT and many other apps – you get inherent auto-scaling and load balancing out of the box without having to manually configure clusters, load balancers, http plugins, etc. All you need to do is to provide the code you want to execute and give it to your cloud vendor. The rest is “magic”. A good introduction into the serverless programming model is available on Martin Fowler's blog.

Overview

Implementation guide

Programming model

Official OpenWhisk project website http://OpenWhisk.org.