  Cloud applications are moving away from monolithic model towards
loosely-coupled microservices designs. Service meshes are widely used for
implementing microservices applications mainly because they provide a modular
architecture for modern applications by separating operational features from
application business logic. Sidecar proxies in service meshes enable this
modularity by applying security, networking, and monitoring policies on the
traffic to and from services. To implement these policies, sidecars often
execute complex chains of logic that vary across associated applications and
end up unevenly impacting the performance of the overall application. Lack of
understanding of how the sidecars impact the performance of microservice-based
applications stands in the way of building performant and resource-efficient
applications. To this end, we bring sidecar proxies in focus and argue that we
need to deeply study their impact on the system performance and resource
utilization. We identify and describe challenges in characterizing sidecars,
namely the need for microarchitectural metrics and comprehensive methodologies,
and discuss research directions where such characterization will help in
building efficient service mesh infrastructure for microservice applications.
