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
这是什么?一个面向 Kubernetes 的开源 Serverless 平台:把你的代码或现有的可执行文件打包成 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 的轻量替代方案——入门电子书用的就是它。你需要 Docker 来构建函数镜像。
免费的社区版能用于工作项目吗?不能——CE 的授权仅限个人探索和业余爱好用途:商业概念验证只能用 60 天,任何生产环境或公司内部使用都需要付费的 OpenFaaS Standard 或 Enterprise。
它跑在云上,还是我自己的机器上?随你选:借助 Kubernetes 或 OpenShift,它可以跨现有硬件和公有或私有云自由迁移;也可以通过 faasd 在一台机器上运行。
那 GitHub 上的代码到底算开源吗?只算部分:第三方代码贡献采用 MIT 许可证,但 OpenFaaS CE 整体受其自家 EULA 的额外限制——把它当作'附带条件的源码可见'来看待。
我可以用哪些语言写函数?任何语言都行。模板商店(Template Store)里有官方模板,比如 node20、python3-http 和 golang-middleware,用普通的 Dockerfile 也可以——甚至用来包装现成的可执行文件。
没有流量的时候,我的函数会怎样?它们会随请求量自动扩缩容,一直可以缩到零,还能在关联的 Grafana 仪表盘上实时看到伸缩过程。
除了 HTTP,还有别的能触发函数吗?有——Apache Kafka 和 AWS SQS 这类事件源都能触发端点,此外还有内置的队列和后台处理,用来分流耗时较长的任务。
有网页界面吗,还是全靠 YAML 和命令行?有一个为易用性设计的界面门户,支持从函数商店一键安装;付费版本还提供更新的仪表盘,并支持多租户。
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