Skip to content

Overview

FaaSr is serverless Function-as-a-Service cloud software that makes it easy for developers to create functions and compose them in workflow graphs that can run unattended and on-demand

FaaSr simplifies deploying reproducible FaaS workflows in different cloud providers without any code changes, with a primary use case in scientific workflows

Cloud platforms

FaaSr supports the following cloud computing platforms:

  • GitHub Actions - free-tier resources for small-scale workflows
  • AWS Lambda - commercial cloud for scalable, low-latency worrkflows
  • Google Cloud Run - commercial cloud for resource-intensive workflows
  • OpenWhisk - open-source FaaS platform for private clouds
  • Slurm - open-source job schedulers for private HPC clusters

and the S3 protocol for cloud storage in platforms including:

  • Minio - open-source S3 software
  • AWS S3 - commercial S3 provider
  • OSN - academic S3 provider in the USA

Programming languages

FaaSr supports workflows with functions written in Python, R, or a combination of both

Requirements

To get started with FaaSr you need:

  • A GitHub account and associated credentials (a PAT token)
  • An S3 data store bucket and associated credentials (access and secret keys)
  • A FaaSr-workflow GitHub repository in your account
  • A workflow configuration JSON file stored in your account's FaaSr-workflow repository
  • A function code repository

Getting started

It's often easier to learn by doing: read the workflow model introduction for a brief overview of how FaaSr workflows are composed, and then the FaaSr tutorial guides you through setting up your workflow repo using a freely available public S3 test bucket hosted by Minio Play. Once you are comfortable with the initial setup from the tutorial, you will be able to: