Many microservices have no reason to exist in first place, they are a solution looking for a problem, that many folks don't master modular programming, or love monkey patching, so a network layer or OS IPC is placed among them.<p>However, those same folks usually never learned about distributed computing, now their spaghetti code is done via OS IPC or networking calls, with all the "fun" that is debugging distributed systems.<p>They are also a way to sell cloud business, and consulting hours (also have myself to blame here), so if that is what folks want, that is what they get.