-
Alex Ellis authoredAlex Ellis authored
faas - Functions As A Service
FaaS is a platform for building serverless functions on Docker Swarm Mode with first class metrics. Any UNIX process can be packaged as a function in FaaS enabling you to consume a range of web events without repetitive boiler-plate coding.
FaaS functions as a Service project
This is a Quickstart guide for theThe guide makes use of a free testing/cloud service, but if you want to try it on your own laptop just follow the guide in the README file on Github. There is also a blog post that goes into the background of the project.
-
So let's head over to http://play-with-docker.com/ and start a new session.
-
Click "Add new Instance" to create a Docker host, more can be added later.
This one-shot script clones the code, initialises Docker swarm mode and then deploys the FaaS sample stack.
# docker swarm init --advertise-addr=$(ifconfig eth0| grep 'inet addr:'| cut -d: -f2 | awk '{ print $1}') && \
git clone https://github.com/alexellis/faas && \
cd faas && \
./deploy_stack.sh && \
docker service ls
The shell script makes use of a v3 docker-compose.yml file
- Now that everything's deployed take note of the two DNS entries at the top of the screen.
- Head over to the README to see how to invoke the sample function for Docker Hub Stats via the
curl
commands.
The sample functions are:
- Webhook stasher function (webhookstash) - saves webhook body into container's filesystem (Golang)
- Docker Hub Stats function (hubstats) - queries the count of images for a user on the Docker Hub (Golang)
- Node Info (nodeinfo) function - gives you the OS architecture and detailled info about the CPUS (Node.js)
Invoke the sample functions with curl or Postman:
Head over to the Github repo now for the quick-start to test out the sample functions:
Quickstart documentation with docker-stack deploy
Once you're up and running checkout the gateway_functions_count
metrics on your Prometheus endpoint on port 9090.
Would you prefer a video overview?
See how to deploy FaaS onto play-with-docker.com and Docker Swarm in 1-2 minutes. See the sample functions in action and watch the graphs in Prometheus as we ramp up the amount of requests.
Prometheus metrics are built-in
Prometheus is built into FaaS and the sample stack, so you can check throughput for each function individually with a rate function in Prometheus like this: