Just what is a "service mesh", and if I get one will it make everything OK? Communication is the backbone of distributed applications. Imagine you could control that backbone independently of all the components, so your application code just makes simple calls to other services, and your communication backbone does all the complex non-functional work. Load balancing, traffic management, fault tolerance, end-to-end monitoring, dynamic routing and secure communication could all be applied and controlled centrally. That's a service mesh. In this session I'll cover the major features of a service mesh using Istio - which is the most popular technology in this space. I'll show you what you can do with a service mesh, how it simplifies application design and also where it adds complexity. My examples will range from new microservices designs to legacy monoliths, and you'll see what a service mesh can bring to different types of application.