well if you build an web application with aws lambdas as a backend ... startup time is actually super important
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.
@mruzekw 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
@mj_langford Are you using āmoreā as a general term or as a specific tool?
@viesti Didnāt know about AppCDS. Will keep that in mind while tinkering. Thanks
np :)
would love hearing on tinkering with AppCDS, if you get to it :)
Sure! I can even post some benchmarks
Generically
Considering that would you do CLJ with a warming heartbeat or CLJS?