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