4 ms·
It's a good pattern in theory, and the main route I'd personally choose most of the time. However in practice, depending on the kind of application, it can be
by hobofan 2y ago
It's a good pattern in theory, and the main route I'd personally choose most of the time.
However in practice, depending on the kind of application, it can be really hard to do those gradual rewrites in practice, especially if you want to modernize by introducing new programming languages.
E.g. for a legacy project on the JVM, how do you gradually shift things over to Kotlin? Or for the same project how do you go from Java to Rust? Of course you can also do that by splitting things out into REST services, but now you have to handle reliability issues of your transport layer and have to figure out how to pass large data through it and/or how to handle a barage of calls that were previously swift in-memory function calls. So in practice there are a boatload of potential challenges when doing gradual rewrites, and in my experience very few people have the expertise to pull them off in practice.
- marcosdumay 2y agoOn the case of the OP, with a database, different pieces of software interact over the database. It's the simplest case.