Towards Modern Development of Cloud Applications (2023)
11–20 of 69 posts
Re: Towards Modern Development of Cloud Applications (2023)
#12Interesting! 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)
#13Re: Towards Modern Development of Cloud Applications (2023)
#14I am a big proponent of the fat lambda paradigm, but it falls short in a few areas and then you need to split - security boundaries (e.g. isolating user code) - dependency overheads
Re: Towards Modern Development of Cloud Applications (2023)
#15Because it is a bit buried in the paper, this is the prototype implementation they talk about.
Re: Towards Modern Development of Cloud Applications (2023)
#16I'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.
Re: Towards Modern Development of Cloud Applications (2023)
#17Reading the paper two thoughts come to mind:
- "What's old is new again"
- "those who do not learn from history are doomed to repeat it"
There were several attempts in history to implement transparent RPC (new again). All failed due to https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu... (learn from history)
Looks like any abstraction trying to hide distribution is inherently too leaky.
Re: Towards Modern Development of Cloud Applications (2023)
#18what a lovely time !
Re: Towards Modern Development of Cloud Applications (2023)
#19Mobile code and "agent systems" were very fashionable 20 years ago. Java introduced built-in RMI with automatic stub downloading. In 1998 Sun published https://en.wikipedia.org/wiki/Jini that was an extension of this idea. Several higher level frameworks emerged (JavaSpaces among the most prolific). Reading the paper two thoughts come to mind: - "What's old is new again" - "those who do not learn from history are doo…
or as mark-twain would (probably) say
"History Does Not Repeat Itself, But It Rhymes"
Re: Towards Modern Development of Cloud Applications (2023)
#20What does it all mean. Well it's a technology built for Google scale. It may have merits in other place as a lot of tech has done, but at the same time, for 90% of teams this doesn't matter. You have a monolithic code base in a single repo and you can deploy and vertically or horizontally scale quite easily depending on your requirements. For companies that are 200+ engineers split across 15-20 teams this might matter. They already be doing some sort of microservices or service splitting while still using a monorepo. Being able to remove a lot of platform level code that you manage versus it being an open source thing is advantageous because you can go back to focusing on the business case not the glue code.