Basic Concepts

There are three basic concepts/elements of fission:

Trigger, Function, Environment

Function

A snippet of code write in specific programming language and will be invoked when requests come to fission router.

Following is a simple nodejs helloworld sample

module.exports = async function(context) {
    return {
        status: 200,
        body: "Hello, world!\n"
    };
}

Currently, fission support multiple popular language like NodeJs, Go, Python, Java…etc. For more examples in different languages, please visit fission language examples.

Environment

The environment(language) container which runs user function to serve HTTP requests. When a request hit fission router, the env container will load user function into runtime container first, then execute the function to serve the request.

Trigger

A fission object maps incoming requests to the backend functions. When a trigger receives requests/events, it will invoke the target function defined in trigger object by sending a HTTP request through router to function pod.

fission http call

Currently, fission supports following types of trigger: