Microservices provide application modularity and deployment flexibility, building agility for innovation and rapid response to digital disruption. But distributed systems are hard, and microservices are harder. Service meshes help by reducing the amount of code that development teams must write. To guide development pros in planning their move to a service mesh, this report outlines the major benefits and complexities of a mesh, key solution architecture issues to address, and emerging dynamics within the service mesh space.