Cloud Functions lets you focus on writing code and building great solutions, without the hassle of setting up, configuring, or maintaining servers. You only pay for the time your code actually runs*, which means no excess capacity or idle time. Cloud Functions scales to fit your exact demand, from once a day to thousands of parallel requests per second.

You can run code for any type of application or backend service, all with zero administration. Invoke your code directly via a REST API, or in response to IBM Cloud services and third party events.
Because Cloud Functions is open-source and is built around an open ecosystem of event providers, there is never a need to worry about vendor lock-in.

Namespaces

Namespaces contain Cloud Functions entities, such as actions and triggers, and belong to a resource group.
You can let users access your Cloud Functions entities by granting them access to the namespace.

Actions

An Cloud Functions action is a piece of code that performs one specific task. An action can be written in the language of your choice. You provide your action to Cloud Functions either as source code or a Docker image.

An action performs work when invoked from your code via REST API. Actions can also automatically respond to events from IBM Cloud services and third party services using a trigger.

Runtimes

Create actions in a variety of languages, including Node.js 8, Node.js 10, Python, and Swift 4. You can also use any other language you prefer by putting your code into a Docker container. Develop your code in the IBM Cloud web-based interface, or with your favorite development IDE and use the Cloud Functions CLI to upload it.

Sequences

A sequence is a chain of actions, invoked in order, where the output of one becomes the input to the next. This allows you to combine existing actions together for quick and easy re-use. A sequence can then be invoked just like an action, through a REST API or automated in a rule.

Triggers & Rules

A trigger is a declaration that you want to react to a certain type of event, whether from a user or by an event source. Triggers fire when they receive an event. Events are always occurring, and it's your choice on how to respond to them.

A rule associates a trigger with an action. Every time the trigger fires, the rule invokes the associated action.