当前位置: 首页 > 软件库 > 云计算 > 云原生 >

faas

OpenFaaS - Serverless Functions Made Simple
授权协议 MIT License
开发语言 Google Go
所属分类 云计算、 云原生
软件类型 开源软件
地区 不详
投 递 者 邓韬
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

OpenFaaS ® - Serverless Functions Made Simple

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.

Highlights

  • Ease of use through UI portal and one-click install
  • Write services and functions in any language with Template Store or a Dockerfile
  • Build and ship your code in an OCI-compatible/Docker image
  • Portable: runs on existing hardware or public/private cloud by leveraging Kubernetes
  • CLI available with YAML format for templating and defining functions
  • Auto-scales as demand increases including to zero

Want to dig deeper into OpenFaaS?

Overview of OpenFaaS (Serverless Functions Made Simple)

Conceptual architecture and stack, more detail available in the docs

Code samples

You can generate new functions using the faas-cli and built-in templates or use any binary for Windows or Linux in a container.

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

  • Node.js (node12) example:

    "use strict"
    
    module.exports = async (event, context) => {
        return context
            .status(200)
            .headers({"Content-Type": "text/html"})
            .succeed(`
            <h1>
                �� Hello World ��
            </h1>`);
    }

    handler.js

  • Python 3 example:

    import requests
    
    def handle(req):
        r =  requests.get(req, timeout = 1)
        return "{} => {:d}".format(req, r.status_code)

    handler.py

  • Golang example (golang-http)

    package function
    
    import (
        "log"
    
        "github.com/openfaas-incubator/go-function-sdk"
    )
    
    func Handle(req handler.Request) (handler.Response, error) {
        var err error
    
        return handler.Response{
            Body: []byte("Try us out today!"),
            Header: map[string][]string{
                "X-Served-By": []string{"openfaas.com"},
            },
        }, err
    }

Get started with OpenFaaS

Official eBook and video workshop

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

Official blog and documentation

Community Subscription

OpenFaaS users can subscribe to a weekly Community Newsletter called Insiders Updates, to keep up to date with new features, bug fixes, events, tutorials and security patches. Insiders Updates are written by the project founder and distributed via GitHub Sponsors.

Support & getting help

Online training

  • New: Training course from the LinuxFoundation: Introduction to Serverless on Kubernetes

    This training course "Introduction to Serverless on Kubernetes" written by the project founder and commissioned by the LinuxFoundation provides an overview of what you need to know to build functions and operate OpenFaaS on public cloud.

    Training course: Introduction to Serverless on Kubernetes

  • Self-paced workshop written by the community on GitHub

    You may also like to try the self-paced workshop on GitHub written by the OpenFaaS community

    Browse the workshop

  • Corporate trainings

    If you wish to arrange a training session for your team, or a consultation, feel free to contact OpenFaaS Ltd

Quickstart

Here is a screenshot of the API gateway portal - designed for ease of use with the inception function.

Deploy OpenFaaS to Kubernetes, OpenShift, or faasd deployment guides

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.

If you'd like to join OpenFaaS community Slack channel to chat with contributors or get some help then check out this page on community.

Roadmap and contributing

OpenFaaS is written in Golang and is MIT licensed - contributions are welcomed whether that means providing feedback, testing existing and new feature or hacking on the source.

How do I become a contributor?

Please see the guide on community & contributing

Roadmap

The roadmap for OpenFaaS is represented in GitHub issues and a Trello board.

Roadmap: OpenFaaS Cloud

OpenFaaS Cloud is a platform built on top of the OpenFaaS framework which enables a multi-user experience driven by GitOps. It can be installed wherever you already have OpenFaaS and packages a dashboard along with CI/CD integration with GitHub so that you can push code to a private or public Git repo and get live HTTPS endpoints.

Dashboards

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

An alternative community dashboard is available here

Press / Branding / Website Sponsorship

  • Individual Sponsorships / End-users / Insiders Track ��

    The source code for OpenFaaS shared in public repositories on GitHub is free to use and open source under the terms of the MIT license.

    OpenFaaS Ltd offers commercial support and enterprise add-ons for end-users and training and consulting services for Cloud and Kubernetes.

    Users and contributors are encouraged to join their peers in supporting the project through GitHub Sponsors.

  • OpenFaaS PRO

    Commercial users can upgrade to OpenFaaS PRO for scale to zero, triggering functions from Kafka and for Single-Sign On with an IDp.

  • Website Sponsorship ��

    Companies and brands are welcome to sponsor openfaas.com, the Gold and Platinum tiers come with a homepage logo, see costs and tiers. Website sponsorships are payable by invoice.

  • Press / Branding ��

    For information on branding, the press-kit, registered entities and sponsorship head over to the openfaas/media repo. You can also order custom SWAG or take part in the weekly Twitter contest #FaaSFriday

    Looking for statistics? This project does not use a mono-repo, but is split across several components. Use Ken Fukuyama's dashboard to gather accurate counts on contributors, stars and forks across the GitHub organisation.

    Note: any statistics you gather about the openfaas/faas repository will be invalid, the faas repo is not representative of the project's activity.

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.

If you're using OpenFaaS please let us know on this thread. In addition, you are welcome to request to have your logo listed on the homepage. Thank you for your support.

  • FaaS 简介 — 一种云计算服务,使云应用程序开发人员可以更轻松地运行和管理微服务应用程序。 什么是 FaaS(功能即服务)? FaaS(功能即服务)是一种云计算服务,它允许您执行代码以响应事件,而无需通常与构建和启动微服务应用程序相关的复杂基础设施。 在 Internet 上托管软件应用程序通常需要配置和管理虚拟或物理服务器以及管理操作系统和 Web 服务器托管进程。使用 FaaS,物理硬件、

  • FAAS原理白话就是,用户提交一段函数代码(如js代码),我们后台把代码拼接为dockerfile(根据用户的函数语言,自动组装(如js代码需要js环境,nginx),后台打一个镜像,然后k8s集群根据用户的配置需求,跑这个docker镜像。用户删除函数,直接把镜像销毁。 以下为开源FAAS:Openwhisk的基本使用 Openwhisk是属于Apache基金会的开源Faas计算平台,由IBM在