Fork me on GitHub

well if you build an web application with aws lambdas as a backend ... startup time is actually super important

💯 4

Considering that would you do CLJ with a warming heartbeat or CLJS?


not too fond of warming heartbeat myself, kind of misses the point of scaling, lower CO2 emission 🙂


Yeah, it also gunks up logs a bit, and requires every lambda to “short circuit” warmer requests so that they don’t cause errors.


Agreed tho that startup time totally does matter...these conversations frequently end in “it’s not an issue”. It is an issue that the first request to my app after 10 minutes shows a loading spinner for 25 seconds, sometimes even timeout errors if there are 2+ lambdas involved. For a startup that is fighting for users, that is guaranteed to turn people away.


@U1RCQD0UE I think warmers are the best answer at the moment. In my case I’m using Datomic tho, so CLJS isn’t really an option.


Thanks, yeah. I’m probably going with another DB, so I’m leaning towards CLJS atm. That and my background is in JS


yeah, Clojure is a hosted language, there's quite a lot of things to look into on JVM side for fast startup: Graal/native-image, jaotc, AppCDS (for cases where Graal/native-image is too restrictive and you still want to use jvm ecosystem)


I quite liked the lumo as Lambda layer idea, you can keep the sorce even visible in Cloud9, but didn't look into how well it plays out with npm deps


We did a warmer, I disliked the experiences around that so much I just wrote java, javascript and more while trying to get CJLS expertise high enough to avoid any of the other 3 alternatives I mentioned/used.


lumo, shadow-cljs, and more are my "hopeful alternatives to a warmer, eventually" for the next clojure oriented system I go with on lambda


@U050B8Q1P Are you using ‘more’ as a general term or as a specific tool?


@U06QSF3BK Didn’t know about AppCDS. Will keep that in mind while tinkering. Thanks


would love hearing on tinkering with AppCDS, if you get to it :)


Sure! I can even post some benchmarks