Function executor is one of the core component in a FaaS platform to provide execution runtime for running user-defined functions. In Teaclave, we aim to provide safe, secure and versatile function executors, which can guarantee the confidentiality of security-sensitive data during computation, and also support functions written in different languages. In addition, we are working hard to achieve better security guarantees such as memory safety.
In Teaclave, there are two executors to native and Python functions.
To add a new executor, you can implement the TeaclaveExecutor
trait (basically implement the execute
function). Then, register the executor in the Teaclave worker. At last, the execution service will dispatch functions to the specific executor.