funcX - Federated function as a service
funcX is a distributed Function as a Service (FaaS) platform that enables flexible, scalable, and high performance remote function execution. Unlike centralized FaaS platforms, funcX allows users to execute functions on heterogeneous remote computers, from laptops to campus clusters, clouds, and supercomputers.
funcXcloud hosted servicefuncXendpoints
Getting started
How it works:
- Register a function by specifying the function body and the input arguments
- Execute the function by also specifying the endpoint ID

- Register a function:
func_uuid = fxc.register_function(hello_world) - Run a function:
res = fxc.run(endpoint_id=<>, function_id=<>) - Retrieving results:
fxc.get_result(res) - Batch of tasks can be added
Similar to Parsl, dependencies must be imported inside the function body.
Issues
- Is there a way to run scripts, not just Python apps? e.g.
@bash_app inParsl. To merge these two, we must solve this problem.