Towards Modern Development of Cloud Applications [pdf]

by dgudkovon 11/5/2023, 12:44 AMwith 10 comments

by techn00on 11/5/2023, 11:56 AM

Reading this I'm thinking "this sounds super similar to serviceweaver". Turns out, it's serviceweaver they're talking about :)

by pjmlpon 11/5/2023, 11:39 AM

> Distributed object frameworks like CORBA, DCOM, and Java RMI use a programming model similar to ours but suffered from a number of technical and organizational issues [ 58] and don’t fully address C1-C5 either.

And the pendulum swings back yet again.

by bob1029on 11/5/2023, 3:05 PM

> Underneath the programming model lies a runtime that is responsible for distributing and executing components. The runtime makes all high-level decisions on how to run components. For example, it decides which components to co-locate and replicate.

So, Microsoft Orleans, Akka, et. al.?

This feels like rediscovery of virtual actor models to me - aka not the right answer for most business applications.

The end game is proper cloud-native, which means stop thinking about 100% of this bullshit. Alternatively, you need to take full ownership and do it all with single machine monoliths on-prem. Playing around in the middle is a death sentence (K8s, multiple machines, DIY networking stuff, etc). Your cloud provider should be the one taking psychological damage over this stuff, not your team.

There was a paper posted a while back that aptly describes modern development modes relative to the cloud - https://arxiv.org/pdf/2307.01045.pdf. Figure 1 really helps to illustrate the spectrum of thinking. I've been using this aggressively to help various c-suites visualize where we are going. The super weird thing is that they seem WAY more excited about the strategic implications than every developer I know.

by madducion 11/5/2023, 3:35 PM

Are they trying to reinvent IDL interfaces like in Apache Thrift or Protobuf?