Fork me on GitHub
#off-topic
<
2021-07-05
>
dgb2311:07:01

Who else has become very suspicious of “serverless” web frameworks that try to leverage cloud functions? Apparently people need a complex deployment architecture that doesn’t even provide the most basic functionality like file storage, sessions and even databases. Forget about websockets too. Then to access the mentioned functionality and probably more I’m supposed to talk to SaaS that is way overpriced for 99% of use-cases while just providing some basic functionality. What is the story here? Are they trying to sell me something I don’t need? Am I not the target audience? Is this overcomplicated cruft, cargo cult? Am I getting too old?

p-himik11:07:48

> Are they trying to sell me something I don’t need? Am I not the target audience? Most likely.

p-himik11:07:31

If you need anything that running a pure function can't give you, then IMO the "serverless" approach is not the right one.

🙏 3
danieroux11:07:15

https://twitter.com/swardley/status/1412001525191356418 is what I was reading as this message came in.

🙏 3
Stuart11:07:00

I think a lot of modern dev is cv driven development.

p-himik11:07:26

Same thing as with microservices. The exact same thing was happening when the approach was introduced. The concept is much older than "serverless", and I have heard the same exact things about it - "it's the future, soon everyone will use this architecture". Well, it certainly does exist, but I wouldn't say that everyone uses it now.

cdpjenkins12:07:44

Is there a specific framework that you're frustrated by?

dgb2313:07:02

Not clojure related. Plus I don’t want to specifically bash anyone’s work. I observed this as a general, recent trend.

dgb2313:07:35

It is more that I’m confused. I don’t claim to know better.

dgb2313:07:10

Although my initial reaction above was very snarky…

Karol Wójcik13:07:05

Serverless is overhyped that’s a fact, although it's not as bad as you claim it to be. For some specific use cases Serverless makes sense.

Karol Wójcik13:07:44

Btw, what you claim serverless don’t have is actually wrong :D

👍 3
dgb2313:07:51

I should do more learning then and less whining!

p-himik13:07:05

Yeah, I seem to be conflating "serverless" with "FaaS", while the latter is just a subset of the former.

dgb2313:07:08

I was also implying FaaS.

cyppan14:07:01

Don’t know about the frameworks, but serverless functions (in the cloud) are actually cheap and scale well and fast for peak traffic.

cdpjenkins15:07:08

I see FaaS as useful for some workloads and not so useful for others. We use FaaS quite a lot at work - specifically AWS Lambda - albeit with Kotlin (on JVM) rather than Clojure. We find that it works pretty well for asynchronous work (basically the lambda handles messages from an SQS queue) in situations where we don’t mind occasionally having to wait for a cold start but we don’t use it for anything that needs good interactive performance and/or guaranteed low latency.

cyppan15:07:31

We use aws lambda for mainly async work too, and sometimes in interactive mode, latencies are all right with the node.js runtime, you have also a preloading (~provisioning) feature if you really want good latencies but it’s more expensive and less scalable obviously.

👍 2
Karol Wójcik16:07:17

Some of the recommendations/observations from my side as the author of holy-lambda would be: • use language, a tool which guarantees low cold starts: if Clojure then babashka, native runtime, otherwise python/nodejs/golang/rust • don't use AWS Lambda for your core functionality, since you will probably pay more for AWS Lambda than you would for Kubernetes cluster + don’t use AWS Lambda for APIs which are heavily used, it's not cost-efficient, • If you think that the AWS Lambda stack is easy to manage and you don't need any “DevOps” skills then you are tremendously wrong! • Use AWS Lambda for async/not core stuff (mostly as a glue between the AWS services) to save 15/20% compared to regular compute options, • Monitor memory/invocation time to optimize the cost even further,

👍 4
cyppan17:07:10

> don’t use AWS Lambda for APIs which are heavily used I disagree with this point, we’ve saved costs switching an endpoint from a “static” server to Lambda (hundreds of requests per minute). We’re using the http proxy from API gateway which is far cheaper than the rest api, maybe you’re talking about that.

Karol Wójcik17:07:54

;O what was the static server? You mean that you serve files from Lambda?

cyppan17:07:57

no I mean an ec2 instance behind an ELB, I was looking for the opposite word of “serverless” :thinking_face:

Stuart14:07:17

4Clojure is shutting down.

😿 19
oxalorg (Mitesh)23:07:47

I’m building a fully static (cljs + sci) version of it at http://4clojure.oxal.org 🙏 Source: https://github.com/oxalorg/4ever-clojure

🎉 4
cfleming09:07:17

Is the problem set data from 4clojure available anywhere? There’s a copy at https://github.com/porkostomus/4bb/blob/master/problems.clj but I don’t know how up to date that is or how it was generated.

2
oxalorg (Mitesh)10:07:25

Yes I've mentioned in the README that I used the data from 4bb file! I think it's mostly up to date but it's incomplete (it does not have problem difficulty) 🙈

oxalorg (Mitesh)10:07:09

I'm actually thinking of scraping all of 4clojure data including the existing leaderboards, might be useful who knows 🙈 😁

Stuart14:07:30

It was a fun, nice, resource for learning clojure

henrik14:07:05

What are good places to put job ads nowadays, except for #jobs / #remote-jobs?

deleted14:07:50

there's a monthly post on the clojure subreddit where you can add your job. probably not what you mean, though

👍 3
henrik15:07:58

Thanks for the tip. On the contrary, that's good information!

solf06:07:03

The monthly HackerNews “Who’s Hiring” topic is another one I know some clojure people look into

👍 2
Drew Verlee22:07:45

I highly recommend this clojure D talk by the great Paula Gearon, if your interested in learning about how immutable datastructures are implemented. https://youtu.be/oD1WONpv6Xc I recommenced everything by her actually.

clojure-spin 11
9
💯 6