README updates

This commit is contained in:
Soam Vasani
2016-11-08 00:40:55 -08:00
parent 842f5eaa45
commit e80d4a7492
+40 -20
View File
@@ -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