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.
Name | tag line | lang | notes |
---|---|---|---|
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 |