Holy lambda is a micro framework which adds support for running Clojure on the AWS Lambda and might be used with arbitrary AWS Lambda deployment tool. Holy lambda provides very convenient environment compared to other tools such as uswitch/lambada or babashka-lambda via simple, but powerful bb tasks
recipes eg. deployment is as easy as running bb stack:sync && bb stack:compile && bb stack:pack && bb stack:deploy
).
Holy lambda supports
Prior work towards targeting Java runtime was done by uswitch/lambada, but lacked being convenient. Holy lambda in the other hand is very convenient and does things which lambada lacked:
deflambda
OutputStream
.I've started experimenting with native runtime around May 2019 inspired by @hjhamala blog post. It was clear to me that there is huge potential in GraalVM which could be embraced in Clojure on AWS Lambda.
Benefits
Tradeoffs
bb native:conf
)sam invoke
or bb stack:invoke
Babashka runtime provides interactive development environment. There is no need for compiling the sources since those are provided as is to AWS SAM
. More info here.
If you feel overhelmed by holy-lambda ecosystem you can check very this minimal babashka runtime.
Runtime | Cold start | Performance | Artifacts size | Memory Consumption | Interactive | Compile time | Beginners friendly? |
---|---|---|---|---|---|---|---|
:native | low | high | high >= 16mb | low | No | very long | no |
----------- | ------------ | ------------- | ------------------ | -------------------- | ------------- | -------------- | --------------------- |
:babashka | low | moderate | low >= 50kb | low | Yes | no compile | yes |
----------- | ------------ | ------------- | ------------------ | -------------------- | ------------- | -------------- | --------------------- |
:java | high | high | moderate >= 12mb | high | No | long | yes |
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close