A Lightweight FaaS Platform for Edge Environments
If you use this software in a publication, please cite it as:
T. Pfandzelter and D. Bermbach, tinyFaaS: A Lightweight FaaS Platform for Edge Environments, 2020 IEEE International Conference on Fog Computing (ICFC), Sydney, Australia, 2020, pp. 17-24, doi: 10.1109/ICFC49376.2020.00011.
@inproceedings{pfandzelter_tinyfaas:_2020,
title = {tinyFaaS: A Lightweight FaaS Platform for Edge Environments},
booktitle = {2020 IEEE International Conference on Fog Computing (ICFC)},
author = {Pfandzelter, Tobias and Bermbach, David},
year = {2020},
publisher = {IEEE},
pages = 17--24
}
For a full list of publications, please see our website.
The code in this repository is licensed under the terms of the MIT license.
To start this tinyFaaS implementation, simply build and start the management service in a Docker container. It will then create the gateway in a separate container.
To build the management service container, run:
docker build -t tinyfaas-mgmt .
Then start the container with:
docker run -v /var/run/docker.sock:/var/run/docker.sock -p 8080:8080 --name tinyfaas-mgmt -d tinyfaas-mgmt tinyfaas-mgmt
This ensures that the management service has access to Docker on the host and it will then expose port 8080 to accept incoming request.
To deploy a function (e.g. the "Sieve of Erasthostenes"), run:
curl http://localhost:8080 --data '{"path": "sieve-of-erasthostenes", "resource": "/sieve/primes", "entry": "sieve.js", "threads": 4}' -v