In an effort to benchmark Deno KV against other serverless databases, this implements an application split into different services. Each service measures read/write latency to databases and are hosted in a way to ensure that the latency excludes any network latency—by e.g. provisioning both the serverless function in the same AWS region as the respective database.
For more details, check out the blog post summary.
- Setup the various cloud providers with Terraform by following the instructions in the provision README. All subsequent instructions must be run with the environment variables listed in the provision README.
- Deploy the Deno backend component by running the deployment script
./setup/provision/utils/deploy-deno-kv-backend.sh
- Populate the newly provisioned databases by running the population script
./setup/populate/populate-databases.sh
- Deploy the frontend by running the deployment script
./setup/provision/utils/deploy-deno-kv-frontend.sh
- View the frontend by visiting the link output by the deployment script.
The frontend requires frontend/lib/config.json
to be present for its backend
endpoint in order to invoke the various services. To create the JSON file you
must build out the infrastructure as outlined in the provision README, then
you can run
./setup/provision/utils/update-deno-kv-frontend.sh
which will create the config.json
from the Terraform state file and required
environment variables.