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.
翻译:云应用正从单体模型向松耦合的微服务架构转变。服务网格被广泛用于实现微服务应用,主要原因是它通过将运维特征与业务逻辑分离,为现代应用提供了模块化架构。服务网格中的边车代理通过将安全、网络和监控策略应用于出入服务的流量,实现了这种模块化。为实现这些策略,边车常常执行复杂的逻辑链,这些逻辑链因关联应用而异,最终对整体应用性能产生不均衡的影响。缺乏对边车如何影响基于微服务的应用性能的理解,阻碍了构建高性能和资源高效的应用。为此,我们将边车代理作为重点,并提出需要深入研究其对系统性能和资源利用的影响。我们识别并描述了表征边车所面临的挑战,即对微架构指标和综合方法论的需求,并讨论了此类表征将有助于为微服务应用构建高效服务网格基础设施的研究方向。