logoalt Hacker News

hmokiguess • today at 12:57 PM • 2 replies • view on HN

> unless you genuinely have some client edge compute requirement that absolutely cannot be solved via some other means

You make it sound like these cases are rare, not sure what kind of work you do but there are markets of all sizes in many different use cases out there.

I feel like what you wanted to say was "I haven't found a need for them" as opposed to "Stay away from it"

Maybe you're trying to say something else we don't know because we don't have your backstory either, did folks at your work tried pushing it for scenarios in which they became a problem? Share that instead as it brings a lot more value to the readers, otherwise it sounds like you are trying to go for a weird flex.


Replies

CharlieDigital • today at 1:42 PM

I would agree with OP with "stay away".

The Google paper Towards Modern Development of Cloud Applications[0] does a great job explaining why.

TL;DR the case they make against micro-services architectures (which Lambda encourages):

    1. It hurts performance
    2. It hurts correctness
    3. It is hard to manage
    4. It freezes APIs
    5. It slows down application development
For even a moderately complex system, spreading logic out over multiple discrete runtimes doesn't make sense; instantly run into each of the 5 points. The only times I've found functions useful is truly single-point behavior where we were running some logic connected to CloudFront on each request for some header parsing.

It is certainly possible to write a monolith in Lambda as well, but then that would be bad architecture and a bad fit and I suppose why they are now introducing this new model that is more like GCP Cloud Run or Azure Container Apps.

[0] https://sigops.org/s/conferences/hotos/2023/papers/ghemawat....

bbg2401 • today at 1:57 PM

They said what they wanted to say, and it was quite clear. The person who commented suggests we don't use client-edge compute unless we have a specific need for it, i.e., don't treat it as a default due to its apparent simplicity up front.

You've taken it in a rather odd direction with the request for a framing more palatable to you.