Fabric Controller Proxy for Microservice Traffic Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Sidecar proxies in service meshes for microservices are inefficient in obtaining information about application instances on other nodes, lack central repository for application information, and can be a single point of failure, failing to provide efficient Layer 7 services, multi-tenancy, and end-to-end encryption.

Innovation Solution

Implementing a datacenter fabric managed by a fabric controller with virtual fabric edges on host nodes, which provides global visibility and routes application traffic, enabling efficient service discovery, health checking, and rate limiting, while using VxLAN overlays for multi-tenancy and end-to-end encryption through API interactions with the container orchestrator.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sidecar proxies are used to provide Layer 7 services for microservices, then reliability and distributed information source are improved, but efficiency in obtaining information regarding application instances on other nodes deteriorates

Engineering Contradiction:
ImprovereliabilityVSAvoidefficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a fabric controller as an intermediary component that mediates between sidecar proxies and application instances. The fabric controller maintains a centralized repository of application information and serves this information to sidecar proxies, eliminating the need for sidecar proxies to directly query each application instance node. This resolves the contradiction by providing reliable distributed information access while improving efficiency through centralized information serving.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If sidecar proxies communicate with sidecar proxies on each node to obtain application information, then distributed information source is achieved, but network traffic and complexity increase

Engineering Contradiction:
Improvedistributed information sourceVSAvoidcomplexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The fabric controller serves as an intermediary that consolidates information requests from multiple sidecar proxies. Instead of sidecar proxies directly communicating with each other to obtain application information, all queries are routed through the fabric controller which maintains a centralized repository. This reduces network traffic complexity while preserving the distributed architecture's reliability benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The fabric controller performs multiple functions: it serves as an information repository, an information distribution mechanism, and a traffic management component. By making the system multi-functional, the patent reduces the need for multiple specialized components and simplifies the overall system architecture while maintaining distributed reliability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If middle proxies are used to provide Layer 7 services, then service functionality is achieved, but single point of failure risk increases

Engineering Contradiction:
Improveservice functionalityVSAvoidsingle point of failure
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the proxy functionality into two distinct components: sidecar proxies that are deployed alongside each application instance (providing local service functionality) and a fabric controller that provides centralized management and information serving. This segmentation ensures that the failure of the fabric controller does not affect the operational capability of individual application instances, as each has its own sidecar proxy. Meanwhile, the fabric controller provides reliable service discovery and information management without creating a single point of failure for service functionality.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12088561B2Application-layer service traffic communication using datacenter network fabric as proxy
Publication Date: 2024.09.10 CISCO TECHNOLOGY INC
  • US12088561B2 patent drawing
  • US12088561B2 patent drawing
  • US12088561B2 patent drawing

AI summary

A system for providing services for microservices applications is described herein. In an embodiment, a system comprises a plurality of container environments, each of which comprising a host node. A virtual fabric edge instance executes on each host node. The host nodes are interconnected through a plurality of switches. A fabric controller manages the plurality of switches and implements policies through the virtual fabric edge instances executing on each host node. The fabric controller additionally provides services for the application instances through the virtual fabric edge instances by routing traffic, data, queries from an application or proxy instance to another application or proxy instance in the container environment through the virtual fabric edge instances.