faas README

The project's README from github.com/openfaas/faas. As one markdown file: README.md.

OpenFaaS ® - Serverless Functions Made Simple

Build Status go.dev reference OpenFaaS

OpenFaaS Logo

OpenFaaS® makes it easy for developers to deploy event-driven functions and microservices to Kubernetes without repetitive, boiler-plate coding. Package your code or an existing binary in an OCI-compatible image to get a highly scalable endpoint with auto-scaling and metrics.

"OpenFaaS Community Edition (CE) is licensed for individual exploration and hobbyist use. A 60 day limit applies for commercial PoCs. Commercial and production workloads require OpenFaaS Standard or OpenFaaS for Enterprises."

Follow @openfaas on X

Highlights

Want to dig deeper into OpenFaaS?

OpenFaaS Tiers and Pricing

This repository is part of OpenFaaS Community Edition (CE), which is licensed for non-commercial use by individuals, and a time-limited trial for commercial Proof Of Concepts (PoC). Internal use within a company or business requires a license.

OpenFaaS CE:

OpenFaaS Standard and OpenFaaS for Enterprises are full and distinct commercial products.

They are maintained and developed independently, by a full-time team, with commercial support, and active maintenance for CVEs, and updates in the Kubernetes and Cloud Native ecosystem.

Learn more about the tiers at https://www.openfaas.com/pricing/

Overview of OpenFaaS (Serverless Functions Made Simple)

Conceptual architecture

Conceptual architecture and stack, more detail available in the docs

Code samples

You can scaffold a new function using the faas-cli new command passing in the name of the function and the language template you want to use i.e. faas-cli new --lang node20 stripe-webhooks.

Official templates exist for many popular languages and are easily extensible with Dockerfiles.

Learn about OpenFaaS templates in the docs

Get started with OpenFaaS

Official training resources

View our official training materials

Official eBook and video workshop

eBook logo

The founder of OpenFaaS wrote Serverless For Everyone Else to help developers understand the use-case for functions through practical hands-on exercises using JavaScript and Node.js. No programming experience is required to try the exercises.

The examples use the faasd project, which is an easy to use and lightweight way to start learning about OpenFaaS and functions.

Check out Serverless For Everyone Else on Gumroad

OpenFaaS and Golang

Everyday Go is a practical, hands-on guide to writing CLIs, web pages, and microservices in Go. It also features a chapter dedicated to development and testing of functions using OpenFaaS and Go.

Community blog and documentation

Quickstart

OpenFaaS Community Edition UI

Here is a screenshot of the OpenFaaS Community Edition UI which was designed for ease of use. The inception function is being run which is available on the in the store.

Deploy OpenFaaS to Kubernetes, OpenShift, or faasd now with a deployment guide

OpenFaaS Standard and OpenFaaS for Enterprises have their own, brand new dashboard with multi-tenancy support, learn more about the OpenFaaS Dashboard.

Video presentations

Community events and blog posts

Have you written a blog about OpenFaaS? Do you have a speaking event? Send a Pull Request to the community page below.

Contributing

OpenFaaS Community Edition is written in Golang. All third-party contributions to the source code are made under the MIT license, additional restrictions apply to OpenFaaS CE as a whole, where contributions from OpenFaaS Ltd are licensed under the OpenFaaS CE EULA. Various types of contributions are welcomed whether that means providing feedback, testing existing and new feature or hacking on the source code.

How do I become a contributor?

Please see the guide on community & contributing

Dashboards

Example of a Grafana dashboard linked to OpenFaaS showing auto-scaling live in action: here

OpenFaaS Pro auto-scaling dashboard with Grafana

OpenFaaS Pro auto-scaling dashboard with Grafana

An alternative community dashboard is available here

Press / Branding / Website Sponsorship

Governance

OpenFaaS ® is an independent open-source project created by Alex Ellis, which is being built and shaped by a growing community of contributors.

OpenFaaS is hosted by OpenFaaS Ltd (registration: 11076587), a company which also offers commercial services, homepage sponsorships, and support. OpenFaaS ® is a registered trademark in England and Wales.

Users

View a selection of end-user companies who have given permission to have their logo listed at openfaas.com.

faas (openfaas/faas)

Searching Database…

26.3K ·GitHub
Что это такое?Open-source платформа serverless для Kubernetes: упакуйте свой код или готовый бинарник в OCI/Docker-образ и получите масштабируемый HTTP-эндпоинт с автоскейлингом и метриками — без лишнего шаблонного кода.
Это библиотека, которую я подключаю к своему коду, или платформа, которую я разворачиваю?Это платформа, которую вы запускаете, а не библиотека: функции поставляются в виде OCI-совместимых Docker-образов в Kubernetes или OpenShift (или faasd), и OpenFaaS обслуживает каждую из них за масштабируемым эндпоинтом с веб-интерфейсом и метриками.
Как её развернуть и написать первую функцию?Разверните OpenFaaS в Kubernetes, OpenShift или faasd по инструкции по установке, затем используйте faas-cli: команда 'faas-cli new --lang node20 my-fn' создаёт функцию на основе языкового шаблона, готовую к сборке и деплою.
Мне нужен полноценный кластер Kubernetes, чтобы это запустить?Не обязательно: Kubernetes или OpenShift — основная цель, но faasd — это лёгкая альтернатива без Kubernetes, именно её использует ebook для начинающих. Docker понадобится, чтобы собирать образы функций.
Бесплатной Community Edition хватит для рабочих проектов?Нет — лицензия CE разрешает только личное изучение и хобби-использование: коммерческим PoC даётся 60 дней, а любое продакшн-использование или использование внутри компании требует платных OpenFaaS Standard или Enterprise.
Это живёт в облаке или на моих собственных машинах?Как вам удобнее: платформа переносима — работает на существующем железе и в публичном или частном облаке через Kubernetes или OpenShift, либо на одной машине с faasd.
То есть код на GitHub — это на самом деле open source?Отчасти: сторонние доработки кода распространяются по лицензии MIT, но OpenFaaS CE в целом несёт дополнительные ограничения по своей EULA — считайте её source-available с оговорками.
На каких языках я могу писать функции?На любых. В Template Store есть официальные шаблоны вроде node20, python3-http и golang-middleware, а подойдёт и обычный Dockerfile — даже для обёртки готового бинарника.
Что происходит с моими функциями, когда нет трафика?Они автоматически масштабируются под нагрузку, вплоть до нуля, и за скейлингом можно следить в реальном времени на подключённом дашборде Grafana.
Может ли что-то, кроме HTTP, вызвать функцию?Да — функции могут триггерить источники событий вроде Apache Kafka и AWS SQS, плюс есть встроенная очередь и фоновая обработка для долгих задач.
Там есть веб-интерфейс, или всё только через YAML и CLI?Есть UI-портал, сделанный с упором на простоту: функции устанавливаются в один клик из function store; платные версии добавляют более новый дашборд с поддержкой мультитенантности.
What are similar projects?beta9, apisix, sealos, litmus, hivepaas, encore, loki, signoz
Creator
openfaas
Size
32.7 MB
Stars
26.3K
Age
9y
Commits · 90 Days