Hypervisor Service Mesh Offloads Sidecar Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing service mesh solutions face challenges with scale, performance, and management due to the overhead of sidecar containers, which increase resource costs and complexity in service communication.
Innovation Solution
A hypervisor hosting mode for service mesh, where the networking infrastructure is offloaded from container level to host node level, providing high performance, scalability, and easier management with finer granularity of traffic control.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If sidecar mode is used to provide service mesh capabilities, then networking capabilities (service-discovery, traffic-routing, observability, security) are provided to applications, but resource cost increases and management complexity increases due to extra containers in each pod
Solution Approach 1:
The service mesh control plane is extracted from individual pods and centralized at the host level. The host-based service mesh controller manages service mesh functionality for all containers on a host, eliminating the need for sidecar containers in each pod while maintaining service mesh capabilities.
Solution Approach 2:
The host-based service mesh controller provides universal service mesh functionality for all containers on the host through a single control plane instance. This multi-functional approach replaces multiple individual sidecar controllers with one centralized controller that serves all containers.
2Adaptability or versatility
If sidecar containers are injected into each pod, then service mesh functionality is provided, but resource cost increases due to extra containers
Solution Approach 1:
Multiple service mesh control plane functions that would otherwise require separate sidecar containers in each pod are merged into a single host-based controller. This consolidation provides the same service mesh functionality while using fewer container resources.
Solution Approach 2:
The host-based service mesh controller serves multiple containers simultaneously with a single instance, providing universal service mesh functionality across all containers on the host without requiring individual sidecar containers for each container.
3Ease of operation
If sidecar containers are used for service mesh, then traffic management is provided, but scalability and performance deteriorate due to service containers increasing
Solution Approach 1:
The service mesh control plane is extracted from the container level and relocated to the host level. This extraction enables the system to scale better because the host-based controller has access to the entire traffic picture on the host and can make more efficient routing decisions without the overhead of multiple individual sidecar containers.
4Productivity
If host node level offloading is implemented, then scalability and performance are improved, but finer granularity of traffic control is required compared to sidecar mode
Solution Approach 1:
The service mesh control plane is segmented into host-based controllers that manage traffic at the host level. Each host-based controller maintains visibility into all containers on its host, enabling fine-grained traffic control decisions based on the complete traffic picture without requiring sidecar containers in each pod.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
Some embodiments of the invention provide a method of implementing a virtualization software-based service mesh for a network that includes multiple host computers, each host computer including a set of virtualization software executing a set of application instances. For each host computer, the method deploys, to the set of virtualization software, an application service agent and an application service data plane that includes a set of data plane service mesh levels. The method configures the application service agent to apply policy rules defined for flows associated with the set of application instances to the flows on the application service data plane, and configures the application service data plane to forward the flows for the set of application instances to and from services provided at each data plane service mesh level in the set of data plane service mesh levels according to the policy rules applied by the application service agent.