cppless, serverless for C++

Single-source model for productive serverless programming in C++

Cppless Programming Model: we extract serverless functions from single-source applications, allowing the compiler to automatically deploy them at build time and invoke with at runtime.

The rise of serverless allowed many systems to benefit from offloading computations and parallel tasks to dynamically allocated resources. However, the developers of C++ applications found it difficult to integrate functions due to complex deployment, lack of compatibility between client and cloud environments, and loosely typed input and output data.

Cppless resolves this problem by providing a single-source programming model for serverless functions. It is an end-to-end framework for implementing remote functions which handles the creation, deployment, and invocation of serverless functions. Cppless is built on top of LLVM and requires only two compiler extensions to automatically extract C++ function objects and deploy them to the cloud.

The architecture of the compiler, including benchmark evaluation, details can be found in thLukas’ Bachelor thesis Cppless: A single-source programming model for high-performance serverless. The compiler implementation is available on open-source license - try it today! Furthermore, you can find details of the project in the following talk given by Lukas: