roche

Roche is a commandline tool for building rust http and event services using containers.

To see how it works it's recommended to walk through the simple tutorial.

motivation

Services built with Rust have some fantastic runtime qualities for serverless/container scenarios:

  • low resource footprint

  • quick startup time

  • zero garbage collection

However these things come with a trade off as build times are not ideal for rapid application development.

roche addresses this short coming by providing a function as a service pattern for tide that reduces build times to seconds and enables developers to focus on business logic allowing for the speedy delivery of blazing fast and energy efficient software.

It leverages the nesting feature of tide so all that is required to be developed is a handler while the application infrastructure is provided by prebuilt docker containers.

Once the base images are downloaded build times are around 5s for debug and 30s for Release.

Roche is intended to target knative environments but it can also be used to build standard docker containers.

comparisons

There are other opensource tools in this space that provide similar functionality. As they mature converging may be appropriate but currently they have differing constraints and target audiences.

Nametag linelangnotes
roche Roche is a commandline tool for building rust http and event services using containers. rust Targeted Rust use-cases.
Smaller developer pool
http-rs specific
odo odo is a fast, iterative, and straightforward CLI tool for developers who write, build, and deploy applications on Kubernetes and OpenShift. go Focus on multilanguage and enterprise scenarios but no official rust support.
Devfiles specification is still being defined.
boson-project Function as a Service CLI and Client Libray for Knative-enabled Clusters. go Multilanguage but no rust yet
includes knative management
Lacks granular build management