This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-10-17
Channels
- # announcements (2)
- # aws (44)
- # beginners (96)
- # calva (10)
- # cider (7)
- # cljdoc (5)
- # cljsrn (2)
- # clojure (38)
- # clojure-dev (19)
- # clojure-europe (6)
- # clojure-italy (16)
- # clojure-nl (10)
- # clojure-norway (44)
- # clojure-spec (7)
- # clojure-uk (74)
- # clojurescript (133)
- # cloverage (1)
- # cursive (54)
- # datomic (78)
- # duct (11)
- # graalvm (5)
- # instaparse (4)
- # joker (3)
- # kaocha (5)
- # nrepl (2)
- # off-topic (10)
- # pathom (56)
- # pedestal (1)
- # reagent (7)
- # reitit (17)
- # shadow-cljs (144)
- # slack-help (2)
- # sql (35)
- # testing (5)
- # tools-deps (22)
- # vim (22)
- # xtdb (11)
If I'm using a shared http-client with Cognitect's aws-api, is it ok to create many client records without calling stop
?
we're trying to slowly divorce ourselves from the current http-client, and have a BYO model
For this particular app, under 10s is ok. Cold starts result in 20-30s execution time with production deps.
Almost everything is written in vanilla clojure so getting it to work in Node would be somewhat easy.
2s would be fantastic. 10s is really pushing the limit for us but would likely be acceptable for a while.
Pretty much everything in there is either cljc or has a JS client available. Largest missing piece is Datomic. Hoping they publish a protocol definition for the client API so we can have JS clients.
I actually don't think any one of those deps could be removed unfortunately. The only alternative is removing deps. Removing deps means writing the code ourselves which is sometimes hard to justify the engineering time.
I just want to paint a realistic image that it is impossible to get fast startup time with bloated deps
Ions are too restrictive. There's no great way to instrument code in them. You're stuck with CW logs (unfortunately same applies with Lambda though). We have several extremely expensive, somewhat long-running ops that would almost certainly have a large impact on the Datomic instances.
long-running ops -> not a good use case for lambdas either impact on datomic instances -> use a query group
Query Groups allow you to isolate the CPU intensive part so that it's not running on the Primary Group
@ghadi Sorry, had to step out for a while. Couple things there: - We're actually using Datadog APM right now, not honeycomb, but I assumed the usage was similar -- you need to start the jvm process with a java agent. I don't think Ions allow you to change the JVM args. - Running in an Ion requires you to run infrastructure 24/7. A huge benefit to running in Lambda is you only pay for execution time. - The Ion deployment model does not fit in very well with existing infrastructure tools (e.g., Terraform, Pulumi, AWS CDK, etc).