142 lines
5.9 KiB
Markdown
142 lines
5.9 KiB
Markdown
<p align="center">
|
|
<img src="https://fission.io/images/logo-gh.svg" width="300" />
|
|
<br>
|
|
<h1 align="center">Fission: Serverless Functions for Kubernetes</h1>
|
|
</p>
|
|
|
|
<p align="center">
|
|
<a href="https://github.com/fission/fission/blob/master/LICENSE">
|
|
<img alt="Fission Licence" src="https://img.shields.io/github/license/fission/fission">
|
|
</a>
|
|
<a href="https://github.com/fission/fission/releases">
|
|
<img alt="Fission Releases" src="https://img.shields.io/github/release-pre/fission/fission.svg">
|
|
</a>
|
|
<a href="https://pkg.go.dev/github.com/fission/fission">
|
|
<img alt="go.dev reference" src="https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white">
|
|
</a>
|
|
<a href="https://goreportcard.com/report/github.com/fission/fission">
|
|
<img src="https://goreportcard.com/badge/github.com/fission/fission" alt="Go Report Card" />
|
|
</a>
|
|
<a href="https://github.com/fission/fission/graphs/contributors">
|
|
<img alt="Fission contributors" src="https://img.shields.io/github/contributors/fission/fission">
|
|
</a>
|
|
<a href="https://github.com/fission/fission/commits/master">
|
|
<img alt="Commit Activity" src="https://img.shields.io/github/commit-activity/m/fission/fission">
|
|
</a>
|
|
<br>
|
|
<a href="https://fission.io/">
|
|
<img alt="Fission website" src="https://img.shields.io/badge/website-fission.io-blue">
|
|
</a>
|
|
<a href="https://fission.io/slack">
|
|
<img alt="Fission slack" src="https://badgen.net/badge/slack/Fission?icon=slack">
|
|
</a>
|
|
<a href="https://twitter.com/fissionio">
|
|
<img alt="Fission twitter" src="https://img.shields.io/twitter/follow/fissionio?style=social">
|
|
</a>
|
|
<a href="https://github.com/fission/fission">
|
|
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/fission/fission?style=social">
|
|
</a>
|
|
</p>
|
|
|
|
--------------
|
|
|
|
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.
|
|
|
|
Fission is extensible to any language; the core is written in Go, and
|
|
language-specific parts are isolated in something called
|
|
_environments_ (more below). Fission currently supports NodeJS, Python, Ruby, Go,
|
|
PHP, Bash, and any Linux executable, with more languages coming soon.
|
|
|
|
Table of Contents
|
|
=================
|
|
- [Table of Contents](#table-of-contents)
|
|
- [Performance: 100msec cold start](#performance-100msec-cold-start)
|
|
- [Kubernetes is the right place for Serverless](#kubernetes-is-the-right-place-for-serverless)
|
|
- [Getting Started](#getting-started)
|
|
- [Learn More](#learn-more)
|
|
- [Contributing](#contributing)
|
|
- [Who is using Fission?](#who-is-using-fission)
|
|
- [Sponsors](#sponsors)
|
|
- [License](#license)
|
|
|
|
## Performance: 100msec cold start
|
|
|
|
Fission maintains a pool of "warm" containers that each contain a
|
|
small dynamic loader. When a function is first called,
|
|
i.e. "cold-started", a running container is chosen and the function is
|
|
loaded. This pool is what makes Fission fast: cold-start latencies
|
|
are typically about 100msec.
|
|
|
|
## Kubernetes is the right place for Serverless
|
|
|
|
We're built on Kubernetes because we think any non-trivial app will
|
|
use a combination of serverless functions and more conventional
|
|
microservices, and Kubernetes is a great framework to bring these
|
|
together seamlessly.
|
|
|
|
Building on Kubernetes also means that anything you do for operations
|
|
on your Kubernetes cluster — such as monitoring or log
|
|
aggregation — also helps with ops on your Fission deployment.
|
|
|
|
## Getting Started
|
|
|
|
```bash
|
|
# Add the stock NodeJS env to your Fission deployment
|
|
$ fission env create --name nodejs --image fission/node-env
|
|
|
|
# Create a function with a javascript one-liner that prints "hello world"
|
|
$ fission function create --name hello --env nodejs --code https://raw.githubusercontent.com/fission/examples/master/nodejs/hello.js
|
|
|
|
# Run the function. This takes about 100msec the first time.
|
|
$ fission function test --name hello
|
|
Hello, world!
|
|
```
|
|
|
|
## Learn More
|
|
|
|
- Understand [Fission Concepts](https://fission.io/docs/concepts/).
|
|
- See the [installation guide](https://fission.io/docs/installation/) for installing and running Fission.
|
|
- You can learn more about Fission and get started from [Fission Docs](https://fission.io/docs).
|
|
- To see Fission in action, check out the [Fission Examples Repo](https://github.com/fission/examples).
|
|
- See the [troubleshooting guide](https://fission.io/docs/trouble-shooting/) for debugging your functions and Fission installation.
|
|
|
|
## Contributing
|
|
|
|
Check out the [contributing guide](CONTRIBUTING.md).
|
|
|
|
## Who is using Fission?
|
|
- [Fareye](https://www.getfareye.com)
|
|
- Apple
|
|
- [iQuanti](https://www.iquanti.com)
|
|
- A large telecom CSP
|
|
- [Gadget](https://gadget.dev)
|
|
- [CinnamonAI](https://cinnamon.is/en)
|
|
- [Armo](https://www.armosec.io/)
|
|
- [The Social Audience](https://thesocialaudience.com/)
|
|
- [KubeML](https://github.com/DiegoStock12/kubeml)
|
|
- Unilever
|
|
- [BD](https://www.bd.com/en-in)
|
|
- [Biofourmis](https://biofourmis.com/)
|
|
- [Babylon](https://www.babylonhealth.com/en-gb)
|
|
|
|
## Sponsors
|
|
|
|
The following companies, organizations, and individuals support Fission's ongoing maintenance and development. If you are using/contributing to Fission, we would be happy to list you here, please raise a Pull request.
|
|
|
|
<p>
|
|
<a href="https://infracloud.io/"><img src="https://fission.io/sponsors/infracloud.png" alt="InfraCloud" height="70"></a>
|
|
<a href="https://srcmesh.com/"><img src="https://fission.io/sponsors/srcmesh.png" alt="Srcmesh" height="70"></a>
|
|
<a href="https://www.digitalocean.com/?utm_medium=opensource&utm_source=fissionio">
|
|
<img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_blue.svg" width="201px">
|
|
</a>
|
|
</p>
|
|
|
|
# License
|
|
|
|
Fission is licensed under the Apache License 2.0 - see the [LICENSE](./LICENSE) file for details
|