tutorials icon indicating copy to clipboard operation
tutorials copied to clipboard

Fn tutorials ranging from getting started to more advanced topics.

Tutorials

Each of the tutorials below provides a step by step examination and walkthrough of a specific Fn feature or component. Check back soon as new tutorials are being added regularly.

Introduction to Fn

Before deploying your first function, you need to install the Fn cli and start an Fn Server.

Now that the Fn Server is up and running, you can deploy your first function. Select your preferred language:

Official:

  • Go
  • Java
  • Node.js
  • Ruby
  • Python
  • C#

Explore Fn

  • Create Apps with Fn - Learn how to group your functions into an application/API and deploy them together.
  • Create a Function with a Docker Container - This tutorial provides a simple example of how to define an Fn function using a custom built Docker container.
  • Create a Function with a Linux Command and HotWrap - This tutorial provides an example of how to define an Fn function using Linux commands, HotWrap, and a custom Docker container.
  • Create a Function from a Docker image that contains a Node.js app with Oracle DB Support
  • Fn Development with Multiple Contexts - Shows how to setup and use multiple Fn configuration contexts for development.
  • Using Fn RuntimeContext with a Function - See how to set Fn Application and Function variables and access them in your function using the Runtime Context.

Test and Monitor Functions

  • Monitor Fn metrics with Grafana and Prometheus - Learn how to view Fn server metrics with Prometheus and Grafana.
  • Troubleshoot and Log functions - Resolve issues at both development and deployment time.

Orchestrate with Fn Flow

Fn Flow provides a way to orchestrate functions to build sophisticated applications, initially using Java, and soon with other programming languages.

  • Flow 101
  • Flow 102
  • Fn Flow Saga - In this tutorial you will use Fn Flow to implement a Java travel booking system that leverages functions written in a variety of languages.