Multi-tenant Network Policy Manager with Tenant Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-tenant container clusters, ensuring fair resource distribution and preventing overload among tenants while managing logical networks across multiple datacenters is challenging, as existing solutions lack efficient mechanisms to isolate and scale services per tenant.
Innovation Solution
A multi-tenant network policy manager is implemented within a container cluster, utilizing shared and per-tenant services to manage logical networks, including API processing, database, queue management, span determination, and channel management services, with load balancing and on-demand configuration streaming to ensure resource allocation and prevent overload.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If shared services are used for all tenants, then device complexity is reduced, but reliability deteriorates due to potential overload from single tenant
Solution Approach 1:
The patent segments services into two categories: shared services (API processing, database) that are common to all tenants, and dedicated services (queue management, span determination, channel management) that are isolated per tenant. This segmentation allows the system to maintain low complexity for shared functions while ensuring reliability for tenant-specific operations through isolation.
Solution Approach 2:
The patent introduces a load balancer as an intermediary component that sits between tenant requests and shared API processing services. The load balancer distributes requests across multiple API processing services, preventing any single service from being overwhelmed by a single tenant, thus maintaining system reliability while keeping the shared service architecture intact.
2Reliability
If per-tenant services are instantiated for all functions, then reliability improves through isolation, but device complexity increases
Solution Approach 1:
The patent applies segmentation by dividing services into shared and dedicated categories. Dedicated services are instantiated per tenant for functions requiring isolation (queue management, span determination, channel management), while shared services are used for common functions (API processing, database). This selective segmentation achieves tenant isolation without unnecessarily increasing complexity for all services.
Solution Approach 2:
The patent applies universality by implementing shared services that can serve multiple tenants simultaneously. The API processing services and database are designed to handle requests from any tenant, eliminating the need to instantiate these services for each tenant individually, thereby reducing overall system complexity while maintaining isolation where needed.
3Reliability
If load balancing is implemented across API processing services, then reliability improves by preventing overload, but device complexity increases
Solution Approach 1:
The patent introduces a load balancer as an intermediary component that manages request distribution. The load balancer sits between tenant clients and API processing services, automatically distributing requests based on defined policies. This intermediary approach simplifies overload prevention by centralizing the load balancing logic rather than requiring complex distributed decision-making across services.
Solution Approach 2:
The load balancer operates autonomously to distribute requests without requiring manual intervention or complex coordination between services. The load balancing decisions are made automatically based on configured policies, reducing the operational complexity of managing overloaded services while maintaining high reliability.
Data Source
AI summary
Some embodiments provide a method for one of multiple shared API processing services in a container cluster that implements a network policy manager shared between multiple tenants. The method receives a configuration request from a particular tenant to modify a logical network configuration for the particular tenant. Configuration requests from the plurality of tenants are balanced across the plurality of shared API processing services. Based on the received configuration request, the method posts a logical network configuration change to a configuration queue in the cluster. The configuration queue is dedicated to the logical network of the particular tenant. Services are instantiated separately in the container cluster for each tenant to distribute configuration changes from the respective configuration queues for the tenants to datacenters that implement the tenant logical networks such that configuration changes for one tenant do not slow down processing of configuration changes for other tenants.


