Sidecars on the Central Lane: Impact of Network Proxies on Microservices (2306.15792v2)
Abstract: 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.
- S. Joyner, M. MacCoss, C. Delimitrou, and H. Weatherspoon, “Ripple: A Practical Declarative Programming Framework for Serverless Compute,” in arXiv:2001.00222 [cs.DC], January 2020.
- Y. Zhang, W. Hua, Z. Zhou, E. Suh, and C. Delimitrou, “Sinan: Data-Driven Resource Management for Interactive Microservices,” in Workshop on ML for Computer Architecture and Systems (MLArchSys), June 2020.
- Y. Gan, S. Dev, D. Lo, and C. Delimitrou, “Sage: Leveraging ML To Diagnose Unpredictable Performance in Cloud Microservices,” in Workshop on ML for Computer Architecture and Systems (MLArchSys), June 2020.
- M. Shahrad, J. Balkind, and D. Wentzlaff, “Architectural implications of function-as-a-service computing,” in Proceedings of the 52nd annual IEEE/ACM international symposium on microarchitecture, 2019, pp. 1063–1075.
- Y. Gan and C. Delimitrou, “The Architectural Implications of Cloud Microservices,” in Computer Architecture Letters (CAL), vol.17, iss. 2, Jul-Dec 2018.
- Y. Gan, Y. Zhang, D. Cheng, A. Shetty, P. Rathi, N. Katarki, A. Bruno, J. Hu, B. Ritchken, B. Jackson et al., “An open-source benchmark suite for microservices and their hardware-software implications for cloud & edge systems,” in Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, 2019, pp. 3–18.
- “Netflix architecture: How much does netflix’s aws cost?” https://www.cloudzero.com/blog/netflix-aws.
- “Lyft runs 300,000+ containers in a multicluster kubernetes environment — altoros,” https://www.altoros.com/blog/lyft-runs-300000-containers-in-a-multicluster-kubernetes-environment/.
- Z. Zhang, M. K. Ramanathan, P. Raj, A. Parwal, T. Sherwood, and M. Chabbi, “{{\{{CRISP}}\}}: Critical path analysis of {{\{{Large-Scale}}\}} microservice architectures,” in 2022 USENIX Annual Technical Conference (USENIX ATC 22), 2022, pp. 655–672.
- “Cncf_survey_report_2020.pdf,” https://www.cncf.io/wp-content/uploads/2020/11/CNCF_Survey_Report_2020.pdf.
- “Istio / case studies,” https://istio.io/latest/about/case-studies/.
- “Cilium users and real world case studies,” https://cilium.io/adopters/.
- “Linkerd 2.x adopters — linkerd,” https://linkerd.io/community/adopters/.
- X. Zhu, G. She, B. Xue, Y. Zhang, Y. Zhang, X. K. Zou, X. Duan, P. He, A. Krishnamurthy, M. Lentz et al., “Dissecting service mesh overheads,” arXiv preprint arXiv:2207.00592, 2022.
- “Istioldie 1.11 / performance and scalability,” https://istio.io/v1.11/docs/ops/deployment/performance-and-scalability/.
- “Benchmarking linkerd and istio: 2021 redux — linkerd,” https://linkerd.io/2021/11/29/linkerd-vs-istio-benchmarks-2021/.
- “Cni benchmark: Understanding cilium network performance,” https://cilium.io/blog/2021/05/11/cni-benchmark/, (Accessed on 05/02/2023).
- A. Sriraman and T. F. Wenisch, “μ𝜇\muitalic_μ suite: a benchmark suite for microservices,” in 2018 IEEE International Symposium on Workload Characterization (IISWC). IEEE, 2018, pp. 1–12.
- S. Chen, C. Delimitrou, and J. F. Martínez, “Parties: Qos-aware resource partitioning for multiple interactive services,” in Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS ’19. New York, NY, USA: Association for Computing Machinery, 2019, p. 107–120. [Online]. Available: https://doi.org/10.1145/3297858.3304005
- “Network filters — envoy 1.27.0-dev-f2a6dc documentation,” https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/network_filters.
- “Http filters — envoy 1.27.0-dev-f2a6dc documentation,” https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/http_filters.
- “Network policy — cilium 1.13.2 documentation,” https://docs.cilium.io/en/stable/security/policy/.
- “Rfc 8705 - oauth 2.0 mutual-tls client authentication and certificate-bound access tokens,” https://datatracker.ietf.org/doc/html/rfc8705.
- “Role based access control (rbac) filter — envoy 1.27.0-dev-70be00 documentation,” https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/rbac_filter.
- “Ip tagging — envoy 1.27.0-dev-70be00 documentation,” https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ip_tagging_filter.
- “Wasm — envoy 1.27.0-dev-f2a6dc documentation,” https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/wasm_filter.
- “Lua — envoy 1.27.0-dev-f2a6dc documentation,” https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/lua_filter.
- “Envoy proxy - home,” https://www.envoyproxy.io/.
- “Standardizing service mesh value measurement,” https://smp-spec.io/.
- “Service mesh performance evaluation — istio, linkerd, kuma and consul — by florent martin (elca) — elca it — medium,” https://medium.com/elca-it/service-mesh-performance-evaluation-istio-linkerd-kuma-and-consul-d8a89390d630.
- S. Kanev, J. P. Darago, K. Hazelwood, P. Ranganathan, T. Moseley, G.-Y. Wei, and D. Brooks, “Profiling a warehouse-scale computer,” in Proceedings of the 42nd Annual International Symposium on Computer Architecture, ser. ISCA ’15. New York, NY, USA: Association for Computing Machinery, 2015, p. 158–169. [Online]. Available: https://doi.org/10.1145/2749469.2750392
- B. Burres, D. Daly, M. Debbage, E. Louzoun, C. Severns-Williams, N. Sundar, N. Turbovich, B. Wolford, and Y. Li, “Intel’s hyperscale-ready infrastructure processing unit (ipu),” in 2021 IEEE Hot Chips 33 Symposium (HCS). IEEE, 2021, pp. 1–16.
- I. Burstein, “Nvidia data center processing unit (dpu) architecture,” in 2021 IEEE Hot Chips 33 Symposium (HCS). IEEE, 2021, pp. 1–20.