To run benchmarks, BeFaaS requires programmatic access to the respective platforms. Below are short descriptions of how to enable this acces for the currenty supported FaaS platforms:
- Create a new Google Cloud project with
<project_id>. - Go to
IAM > Service accountorhttps://console.cloud.google.com/iam-admin/serviceaccounts?project=<project_id>. - Click
Create Service account. - Add the
Project > Ownerpermission. - Click
Generate Private Keyand download it asjsonwe need the absolute path to the file later. - Visit
https://console.developers.google.com/apis/api/cloudfunctions.googleapis.com/overview?project=<project_id>and enable the API. - Visit
https://console.developers.google.com/apis/api/...and enable the Cloud Build API.
- Go to IAM or
https://console.aws.amazon.com/iam/home?#/users. - Create a new user.
- Choose "Programmatic access".
- Got to "Attach existing policies directly" and chose "AdministratorAccess".
- Go to the last step and save the
Key IDandAccess Key.
- Install the azure-cli:
curl -L https://aka.ms/InstallAzureCli | bash - Run
az login. - Run
az account list. - Choose your subscription you want to use for the deployment.
- If you don't have an tinyFaaS instance follow the instructions here.
- Start tinyFaaS instance and ensure that the tinyFaaS address is publically visible on the internet in order for other FaaS platforms to talk to it.
Anyone with access to the tinyFaaS management port (8080) will be able to upload arbitrary functions, it is very advisable to configure your firewall to only let the deploying computer access that port - Note the public tinyFaaS address.
Warning: this will only work with full openfaas not with faasd due to multiple bugs in faasd.
The only supported setup is the one using docker swarm https://docs.openfaas.com/deployment/docker-swarm/
- Setup an openfaas instance using https://docs.openfaas.com/deployment/docker-swarm/ and write down the password it generates
- Install faas-cli https://docs.openfaas.com/cli/install/ and login like the guide above details.
- Log your local docker into docker hub with
docker login(other container registries are not directly supported by this project).
This is needed to deploy functions to openfaas. Please note that by default this will make the functions you deploy to openfaas public on your account. - Note openfaas gateway adress and the password generated during openfaas setup.
- Setup OpenWhisk.
- Set the
OPENWHISK_EXTERNALenvironment variable. For example:https://my.openwhisk-apigateway.faas. - Configure credentials:
wsk property set \
--apihost '<your openwhisk api host>' \
--auth '<username>:<password>'