This document discusses building a service mesh with NGINX. It notes that operating distributed applications is difficult due to issues like slow and unreliable calls between services, distributed fault finding, and continuous updates occurring in production. It reviews existing approaches like using an NGINX proxy per pod or a simple mesh. A full service mesh provides more capabilities but also more complexity. The document outlines NGINX's plans to build a service mesh focused on hybrid applications, with lightweight and performant data and control planes using open source projects like SPIRE and OpenTracing where possible.