I think another very important piece of the puzzle is *when* to make the transition from a monolith service to a microservice stack. I have seen many startups getting distracted by committing to a microservices transition rather too early in their lifecycle, and on the flip side - big organisations postponing and accruing a huge transition tax.
We are seeing more and more companies doing the transition earlier as the tooling gets more mature. But worrying about microservices before the product is not a good idea