Fn is an event-driven Functions-as-a-Service platform for deploying and executing application code in containers. It allows developers to package functions independently and run them without having to build a separate application server for each task.
The platform is built around an Fn server and command-line client. Developers create functions, group them into applications and deploy them to a running server. The server then handles incoming invocations, manages function execution and coordinates the underlying containers.
Fn can be used for local development on Linux or deployed to servers in private and public cloud environments. Its container-based model allows functions to be written in different programming languages, provided an appropriate execution image is available. Docker and Podman are supported container environments, making it practical to integrate Fn with existing container workflows.
This is free and open source software.
Key Features
- Container-native execution allows functions to use OCI-compatible images rather than being restricted to a single programming language runtime.
- Command-line client creates functions, initialises applications, deploys code and invokes functions for testing.
- Functions are organised into applications, providing a structure for related services and deployment resources.
- Local development mode supports building and executing functions without first publishing images to a remote container registry.
- Supports Docker and Podman, with configuration options for the function server’s container execution environment.
- Single-server mode includes an embedded database and message queue for simplified local deployment.
- Remote deployment can use compatible container registries to distribute function images to servers.
- Programming language support includes Go, Java, Python, JavaScript and other languages through appropriate container images.
- Provides an API for interacting with the function platform and integrating it into other systems.
- Configurable server settings allow operators to adapt execution, storage and deployment behaviour.
- Supports execution of imported AWS Lambda functions through the Fn application model.
Website: github.com/fnproject/fn
Support:
Developer: Fn Project
License: Apache License 2.0
fn is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| FaaS | |
|---|---|
| Serverless | Simple way to build serverless applications |
| OpenFaaS | Serverless Functions Made Simple |
| Fission | Fast and Simple Serverless Functions for Kubernetes |
| Knative | Kubernetes-based, scale-to-zero, request-driven compute |
| Nuclio | Serverless for Real-Time Events and Data Processing |
| OpenWhisk | Serverless Functions Platform for Building Cloud Applications |
| Fn | Event-driven Functions-as-a-Service (FaaS) compute platform |
| Kubeless | Kubernetes Native Serverless Framework |
| Gordon | Create, wire and deploy AWS Lambdas using CloudFormation |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.