Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I’m surprised none of the big 3 cloud providers have come out with a cloud native language where modules or even classes gets deployed as micro services that scales horizontally.

Then you can have a mono repo that deploys to multiple micro services / cloud functions / lambdas as needed depending on code changes and programmers don’t have to worry about RPC or json when communicating between modules and can just call the damn function normally.



There are fundamental problems with distributiveness (which may be reduced to time/timeout handling) which make such task extremely difficult.

Though there were many attempts to do it, I would just mention Erlang and Akka.

The answer to your question is close to the answer for "what's wrong with Akka"


If you want to scale horizontally then why just run multiple copies of your monolith? That will work just fine unless you're really big, in which case you'll probably be wanted to write your own solution rather than depending on a cloud provider anyway.


Multiple copies but with traffic shaping is one of the simplest things that could work.


The 2 generals problem illustrates the problems with this. You can’t just call a function over an unreliable communication channel and expect it to work the same way.

Solving this in the general case for every function call is difficult. Pure functions are idempotent, so you can retry everything until nothing fails.

But once you add side effects and distributed state, we don’t know how to solve this in a completely generalized and performant way.


I've said this from the start: cloud functions should be a compilation target, not directly developer-facing. Cut out the monorepo middleman.


Isn't that basically how AWS Lambda operates, using JSON?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: