I have loved the Modular Monolith (or Modulith) approach with strict abstraction. It keeps it in same code base/deployment and at the same time keeps it modular enough to be extracted into independently networked services later.
Simply put, with microservices and all the typical contemporary complexity you can't deliver a shit in 5 months.