README updates
This commit is contained in:
@@ -4,14 +4,11 @@ Fission
|
|||||||
Fission is a fast serverless framework for Kubernetes with a focus on
|
Fission is a fast serverless framework for Kubernetes with a focus on
|
||||||
developer productivity and high performance.
|
developer productivity and high performance.
|
||||||
|
|
||||||
It's heavily customizable (but with sensible defaults), extensible to
|
It's customizable (with sensible defaults), extensible to any
|
||||||
any language, and interoperates well with other infrastructure.
|
language, and interoperates well with other infrastructure.
|
||||||
|
|
||||||
You can create and edit functions throughs a web UI, or you can use
|
See https://fission.io for more.
|
||||||
your favorite editor and upload them using a CLI. You can trigger these
|
|
||||||
functions via HTTP requests to paths, or by timers.
|
|
||||||
|
|
||||||
Try it out at http://demo.example.com
|
|
||||||
|
|
||||||
Running Fission
|
Running Fission
|
||||||
===============
|
===============
|
||||||
@@ -21,32 +18,55 @@ On your own Kubernetes cluster
|
|||||||
|
|
||||||
### Setup Kubernetes
|
### Setup Kubernetes
|
||||||
|
|
||||||
|
On your laptop:
|
||||||
|
|
||||||
https://github.com/kubernetes/minikube
|
https://github.com/kubernetes/minikube
|
||||||
|
|
||||||
|
Or use Google Container Engine.
|
||||||
|
|
||||||
|
### Verify access to the cluster
|
||||||
|
|
||||||
|
$ kubectl version
|
||||||
|
|
||||||
### Get and Run Fission
|
### Get and Run Fission
|
||||||
|
|
||||||
$ wget http://example.com/fission.yaml
|
If you're using GKE, use the fission.yaml unmodified. If you're using
|
||||||
$ kubectl create -f fission.yaml
|
minikube, change all instances of LoadBalancer services to NodePort.
|
||||||
|
|
||||||
|
|
||||||
|
$ curl http://fission.io/fission.yaml | kubectl create -f -
|
||||||
|
|
||||||
|
$ kubectl --namespace fission get services
|
||||||
|
|
||||||
|
Save the external IP addresses of controller and router services in
|
||||||
|
FISSION_URL and FISSION_ROUTER, respectively.
|
||||||
|
|
||||||
|
### Install the client CLI
|
||||||
|
|
||||||
|
$ curl http://fission.io/fission > fission
|
||||||
|
$ chmod +x fission
|
||||||
|
$ sudo mv fission /usr/local/bin/
|
||||||
|
|
||||||
|
### Run an example
|
||||||
|
|
||||||
|
$ fission env create --name nodejs --image fission/node-env
|
||||||
|
$ echo 'module.exports = function(context, callback) { callback(200, "Hello, world!\n"); }' > hello.js
|
||||||
|
$ fission function create --name hello --env nodejs --code hello.js
|
||||||
|
$ fission route create --method GET --url /hello --function hello
|
||||||
|
$ curl http://$FISSION_ROUTER/hello
|
||||||
|
Hello, world!
|
||||||
|
|
||||||
Status
|
Status
|
||||||
======
|
======
|
||||||
|
|
||||||
Fission is in early alpha.
|
Fission is in early alpha. Watch this space for announcements soon!
|
||||||
|
|
||||||
|
|
||||||
Performance
|
Performance
|
||||||
===========
|
===========
|
||||||
|
|
||||||
The goal is to have less than 1 second latency for requests that don't
|
The alpha release has focussed on cold-start latency performance. For
|
||||||
have a running instance. In practice, benchmarks show this latency at
|
requests that don't have a running instance, i.e. a "cold start",
|
||||||
TODO msec for the NodeJS environment.
|
fission has a latency overhead of less than 100 msec for the NodeJS
|
||||||
|
environment.
|
||||||
|
|
||||||
Here's a simple hello world benchmark on NodeJS: TODO. It achieves
|
|
||||||
TODO requests per second on a TODO-node Kubernetes cluster.
|
|
||||||
|
|
||||||
|
|
||||||
Contributions
|
|
||||||
=============
|
|
||||||
|
|
||||||
TODO
|
|
||||||
|
|||||||
Reference in New Issue
Block a user