If you’re considering splitting a monolith into microservices, consider this: if you can’t write well separated code inside a single application, how do you expect to put the network boundaries in the right places?
Write modules not microservices, and package those modules into the same deployable.