Developers working on the next killer cloud-native application always run into the same obstacles at the start: choosing a cloud, tackling the ingress problem, sorting out persistent storage, will the clusters be pets or cattle? What's almost always overlooked is the insecurity and unreliability of communications in the cluster. These concerns get put off for later, and over and over, that causes pain.
Instead, use a service mesh right from the start! You get security, reliability, and observability from the moment you build your first microservice, without needing to put extra work into your application. These things are necessary, but the mesh can handle them for you, and with a little care it can make handling them easy.