Live data from Hacker News

Towards Modern Development of Cloud Applications (2023)

dl.acm.org

1–10 of 69 posts

Re: Towards Modern Development of Cloud Applications (2023)

#3
This looks like it parallels the shift from MapReduce's paradigm of one binary per execution graph node to FlumeJava (and Apache Beam's) monolithic binary for all worker nodes that reconfigures itself as necessary for each stage. My experience is that Flume/Beam is a lot nicer in almost all ways, so I'm not surprised that the same thing works for services too.

Re: Towards Modern Development of Cloud Applications (2023)

#5
post #2

Isn’t this prevailing wisdom among HN crowd ?

I think that this might actually be something new - you have the same topology as a microservice architecture, but rather than actually programming and deploying one binary per microservice, you build a single binary with all of the functionality and it gets deployed as a fleet of microservices, running a different subset of all of that functionality depending on what it's deployed as. Which means you have only one build and one deploy step and atomic deploys, like a monolith, but you also get to scale each component independently and isolate data like with microservices. A really nice looking middle ground.

Re: Towards Modern Development of Cloud Applications (2023)

#6
Bold claims...

Performance is evaluated against a single example implementation (section 6.1) and 9x improvement was achieved when co-locating into a single process. To be fair this seems a reasonable thing to do if you can get the application to be efficient enough to allow it - but there may be very good reasons not to do it in many applications.

Re: Towards Modern Development of Cloud Applications (2023)

#8
Interesting! This has been my recommended pattern for a for years now: a monorepo with multiple entrypoints. Worker and api and emailer etc etc services are running independently, but it’s one codebase running with different options. All the developer benefits of a monolith and all the devops benefits of sane and isolated deployments.

Re: Towards Modern Development of Cloud Applications (2023)

#10
post #7

I've used this paradigm for a long time. What's new here ? Basically your code has no concept of "network boundary", there's only package import each other, there's no "microservice". But when deploying, i can choose which package to be deployed as a service.

What's new is that you don't choose, the runtime does, generating the cross-network interface as needed.
Post reply on HN