Merge branch 'draft_1' of https://github.com/alexellis/faas into draft_1

This commit is contained in:
Alex Ellis 2016-12-30 18:55:31 +00:00
commit 8734a3a5ac

View File

@ -1,5 +1,9 @@
# faas
Functions as a service
# faas - Functions As A Service
This project provides a way to run Docker containers as functions on Swarm Mode.
* Each container has a watchdog process that hosts a web server allowing a JSON post request to be fowarded to a desired process via STDIN. The respose is sent to the caller via STDOUT.
* A gateway provides a view to the containers/functions to the public Internet and collects metrics for Prometheus and in a future version will manage replicas and scale as throughput increases.
Minimum requirements: Docker 1.13
@ -10,9 +14,9 @@ This container acts in a similar way to the API Gateway on AWS. Requests can be
Features:
* auto-scaling of replicas as load increases
* backing off of replicas as load reduces
* unique URL routes for serverless functions
* [todo] auto-scaling of replicas as load increases
* [todo] backing off of replicas as load reduces
* [todo] unique URL routes for serverless functions
* instrumentation via Prometheus metrics at GET /metrics
watchdog
@ -23,7 +27,7 @@ This binary fwatchdog acts as a watchdog for your function. Features:
* Static binary in Go
* Listens to HTTP requests over swarm overlay network
* Spawns process set in `fprocess` ENV variable for each HTTP connection
* Only lets processes run for set duration i.e. 500ms, 2s, 3s.
* [todo] Only lets processes run for set duration i.e. 500ms, 2s, 3s.
* Language/binding independent
Complete example: