Earlier quoted context omitted.
> There's nothing about writing software in different languages that necessitates separating functionality with HTTP calls I mean it's only computers and the only limit to what we can make them do is our imagination. In this case though for the sake of argument what options would I have if I, say, needed to let a remote team add some functionality to my, say, Spring backend but they really prefer to write C# and have…
> I'm not sure how I would accomplish this in a monolith. With a library. Depending on what you’re doing (process ran a few times a day?), maybe even spawning a process is enough. > what options would I have if I, say, needed to let a remote team add some functionality to my, say, Spring backend but they really prefer to write C# and have their own CI/CD system. That sounds like you need at most two different service…
I don't know what that library is right now. Meanwhile I could set up the separate repos/microservices by the end of the day.
> That sounds like you need at most two different services, not microservices
It is unfortunate that the "micro" in "microservice" is often misunderstood to expect that these are very small and granular components. In practice by and large it ends up being separate services with separate repo, code review, ownership, deploy or CI/CD etc. pipelines. It doesn't have to mean they are actually very small. I know people like to joke about npm components and the leftpad thing but in my experience microservices have not turned out like that.