OpenFaaS - A serverless framework for Docker & Kubernetes

  •        294

OpenFaaS (Functions as a Service) is a framework for building serverless functions with Docker which has first class support for metrics. Any process can be packaged as a function enabling you to consume a range of web events without repetitive boiler-plate coding.

  • Ease of use through UI portal and one-click install
  • Write functions in any language for Linux or Windows and package in Docker/OCI image format
  • Portable - runs on existing hardware or public/private cloud - Kubernetes and Docker Swarm native
  • CLI available with YAML format for templating and defining functions
  • Auto-scales as demand increases

https://www.openfaas.com/
https://github.com/openfaas/faas
https://blog.alexellis.io/introducing-functions-as-a-service/

Tags
Implementation
License
Platform

   




Related Projects

faas-netes - Enable Kubernetes as a backend for OpenFaaS (Functions as a Service)

  •    Go

This is a plugin to enable Kubernetes as an OpenFaaS backend. The existing CLI and UI are fully compatible. It also opens up the possibility for other plugins to be built for orchestation frameworks such as Nomad, Mesos/Marathon or even a cloud-managed back-end such as Hyper.sh or Azure ACI.OpenFaaS is an event-driven serverless framework for containers. Any container for Windows or Linux can be leveraged as a serverless function. OpenFaaS is quick and easy to deploy (less than 60 secs) and lets you avoid writing boiler-plate code.

Fn - The container native, cloud agnostic serverless platform.

  •    Go

The Fn project is a container native serverless platform that you can run anywhere -- any cloud or on-premise. It’s easy to use, supports every programming language, and is extensible and performant. Fn packages your functions as containers and runs on any platform supporting Docker. Push your functions to a repository and deploy anywhere--your laptop or the cloud.

kubeless - Kubernetes Native Serverless Framework

  •    Go

kubeless is a Kubernetes-native serverless framework that lets you deploy small bits of code without having to worry about the underlying infrastructure plumbing. It leverages Kubernetes resources to provide auto-scaling, API routing, monitoring, troubleshooting and more. Kubeless stands out as we use a Custom Resource Definition to be able to create functions as custom kubernetes resources. We then run an in-cluster controller that watches these custom resources and launches runtimes on-demand. The controller dynamically injects the functions code into the runtimes and make them available over HTTP or via a PubSub mechanism.

functions - IronFunctions - the serverless microservices platform by

  •    Go

Welcome to IronFunctions! The open source serverless platform.IronFunctions is an open source serverless platform, or as we like to refer to it, Functions as a Service (FaaS) platform that you can run anywhere.

Serverless - Build auto-scaling, pay-per-execution, event-driven apps on AWS Lambda

  •    Javascript

Serverless helps to build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more. You can build applications comprised of microservices that run in response to events, auto-scale for you, and only charge you when they run. This lowers the total cost of maintaining your apps, enabling you to build more logic, faster.


Fission - Fast Serverless Functions for Kubernetes

  •    Go

Fission is a fast serverless framework for Kubernetes with a focus on developer productivity and high performance.Fission operates on just the code: Docker and Kubernetes are abstracted away under normal operation, though you can use both to extend Fission if you want to.

OpenWhisk - Serverless platform, Distributed event-based programming service

  •    Scala

Apache OpenWhisk is a serverless, open source cloud platform that executes functions in response to events at any scale. It is a cloud-first distributed event-based programming service. It provides a programming model to upload event handlers to a cloud service, and register the handlers to respond to various events.

Gloo - The Function Gateway built on top of Envoy

  •    Go

Gloo is a feature-rich, Kubernetes-native ingress controller, and next-generation API gateway. Gloo is exceptional in its function-level routing; its support for legacy apps, microservices and serverless; its discovery capabilities; its numerous features; and its tight integration with leading open-source projects. Gloo is uniquely designed to support hybrid applications, in which multiple technologies, architectures, protocols, and clouds can coexist.

fx - fx is a framework to help you do Function as a Service with painless on your own servers

  •    Go

Poor man's function as a service. fx is a tool to help you do Function as a Service on your own server. fx can make your stateless function a service in seconds. The most exciting thing is that you can write your functions with most programming languages, you can refer to the doc to make fx support the language not listed bellow.

Nuclio - High-Performance Serverless event and data processing platform

  •    Go

Nuclio is a new "serverless" project, derived from Iguazio's elastic data life-cycle management service for high-performance events and data processing. You can use Nuclio as a standalone Docker container or on top of an existing Kubernetes cluster. Nuclio is extremely fast. A single function instance can process hundreds of thousands of HTTP requests or data records per second. This is 10-100 times faster than some other frameworks.

guide - Serverless Guide - An open-source definitive guide to serverless architectures.

  •    

Authored by the community, curated by Serverless, Inc. This is your definitive guide to serverless architectures. Inside, you will find everything you need to know about serverless development and how to be a serverless organization: patterns, best practices, case studies and everything in-between.

PiCluster - Manage Docker Containers

  •    Javascript

PiCluster is a simple way to manage Docker containers on multiple hosts. Docker Swarm not that good and Kubernetes was too difficult to install currently on ARM. PiCluster will only build and run images from Dockerfile's on the host specified in the config file. This software will work on regular x86 hardware also and is not tied to ARM.

faaslang - FaaSlang defines FaaS execution semantics and type-safety mechanisms

  •    Javascript

The following is a working draft of the latest FaaSlang specification, version 0.3.x, dated February 12th, 2018. FaaSlang is a simple open specification intended to define semantics and implementation details around FaaS ("serverless") functions, gateways and client interfaces (requests from any language / SDK). It has been designed with the goal of decreasing organizational complexity around FaaS microservices by encouraging simple conventions for how we document and interface with them, including type safety mechanisms. In the same way GraphQL is intended to provide opinions and a specification for the way developers interface with nested relational (graph) data, FaaSlang does the same for FaaS resources.

serverless-chrome - 🌐 Run headless Chrome/Chromium on AWS Lambda (maybe Azure, & GCP later)

  •    Javascript

Serverless Chrome contains everything you need to get started running headless Chrome on AWS Lambda (possibly Azure and GCP Functions soon). Why? Because it's neat. It also opens up interesting possibilities for using the Chrome DevTools Protocol (and tools like Chromeless or Puppeteer) in serverless architectures and doing testing/CI, web-scraping, pre-rendering, etc.

apex - Build, deploy, and manage AWS Lambda functions with ease (with Go support!).

  •    Go

Apex lets you build, deploy, and manage AWS Lambda functions with ease. With Apex you can use languages that are not natively supported by AWS Lambda, such as Golang, through the use of a Node.js shim injected into the build. A variety of workflow related tooling is provided for testing functions, rolling back deploys, viewing metrics, tailing logs, hooking into the build system and more.On Windows download binary.

awesome-layers - λ A curated list of awesome AWS Lambda Layers.

  •    

Lambda Layers are a new type of artifact that can contain arbitrary code and data, and may be referenced by zero, one, or more functions at the same time. Lambda functions in a serverless application typically share common dependencies such as SDKs, frameworks, and now runtimes. With layers, you can centrally manage common components across multiple functions enabling better code reuse.

Funktion - open source event based lambda programming for kubernetes

  •    Go

Funktion is an open source event driven lambda style programming model on top of Kubernetes. This project provides a command line tool for working with Funktion. It supports hundreds of different trigger endpoint URLs including most network protocols, transports, databases, messaging systems, social networks, cloud services and SaaS offerings.

docker-lambda - Docker images and test runners that replicate the live AWS Lambda environment

  •    Javascript

A sandboxed local environment that replicates the live AWS Lambda environment almost identically – including installed software and libraries, file structure and permissions, environment variables, context objects and behaviors – even the user and running process are the same.You can use it for testing your functions in the same strict Lambda environment, knowing that they'll exhibit the same behavior when deployed live. You can also use it to compile native dependencies knowing that you're linking to the same library versions that exist on AWS Lambda and then deploy using the AWS CLI.

functions-samples - Collection of sample apps showcasing popular use cases using Cloud Functions for Firebase

  •    Javascript

This repository contains a collection of samples showcasing some typical uses of Cloud Functions for Firebase.Cloud Functions is a hosted, private, and scalable Node.js environment where you can run JavaScript code. Cloud Functions for Firebase integrates the Firebase platform by letting you write code that responds to events and invokes functionality exposed by other Firebase features.

aws-sam-local - AWS SAM Local 🐿 is a CLI tool for local development and testing of Serverless applications

  •    Go

sam is the AWS CLI tool for managing Serverless applications written with AWS Serverless Application Model (SAM). SAM Local can be used to test functions locally, start a local API Gateway from a SAM template, validate a SAM template, and generate sample payloads for various event sources.Running Serverless projects and functions locally with SAM Local requires Docker to be installed and running. SAM Local will use the DOCKER_HOST environment variable to contact the docker daemon.