Micro-services are the current-year deity of the cargo-cult that is Silicon Valley.
Unlike the natives, however, who simply wasted some time building extraneous fake runways, in the Valley people are royally screwing up their own core architecture.
I'm old enough to find this more humorous than frustrating.
I think micro services only came into existence because SOA was such a disaster, everyone confused SOA architectures with web services. These ended up being n-tier apps with a web service RPC (or several) in the middle just to add some unnecessary serialization and network transfer bottlenecks.
So far I've seen micro services repeat this trend almost exactly.
Microservices take all the SOA problems and turn them up to eleven, as far as I can tell. It intertwines decomposition of your system (sometimes good) with network communication (rarely good) and additional ops management (never good).
Yanking out the major chucks of independent functionality into separate deployable services makes sense at a large enough scale and for large enough, independent enough components. But you would only do so out of necessity, not as an initial architecture.