Tell me about it. The problem is moving parts. Whether you spread it out over several programs or not does not matter. If you manage to really decouple programs so they can do useful work independently of one another then that's great. Congratulations to you. But microservices can just as easily turn into one huge program separated into many small ones, none of which make any sense on its own, and now all you've done is make things harder for devops.
I heard a phrase a couple months ago that I believe sums this up. What you want is local reasoning. You need to be able to estimate the scope of consequences of a change so you can act accordingly. You also need to be able to look at a problem and estimate the scope of code that could be causing the problem.
We have a bunch of rules and guidelines that work toward that goal but if you don't know the destination you may never arrive.