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.