Load Balancer Routing for Service Version Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Service-oriented architectures (SOAs) face complexities and drawbacks during service deployment and testing due to increased latency, network errors, and security risks when deploying test services on local machines external to the execution environment, especially with remote staging environments, leading to increased complexity and misconfiguration issues.
Innovation Solution
A method and system for managing access to resources in a shared computing environment using a load balancer to route requests based on version identifiers, allowing alternative service versions to be deployed and tested within the same environment, reducing resource duplication and enabling substitution of default versions for testing purposes, thereby balancing workload and minimizing latency and security risks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If test services are deployed on local machines external to the execution environment, then service development and testing can be performed, but latency increases and network errors occur
Solution Approach 1:
The patent introduces a gateway as an intermediary component that bridges the local machine and remote execution environment. The gateway receives requests from the service under test, performs protocol conversion and formatting, then forwards them to the execution environment. This intermediary resolves the communication reliability issues by handling network protocol differences and ensuring proper request formatting, eliminating the need for direct connections that cause latency and timeouts.
Solution Approach 2:
The system segments the testing architecture into distinct components: the service under test on the local machine, the gateway as a separate intermediary, and the remote execution environment with its own services. This segmentation allows each component to operate independently with optimized configurations, preventing the performance issues that arise from direct external connections while maintaining development flexibility.
2Ease of manufacture
If test services are deployed on local machines, then service testing is enabled, but security risks increase due to inability to monitor and audit
Solution Approach 1:
The gateway serves as a security intermediary that all communications must pass through. It enables monitoring and auditing of requests between the local service under test and the remote execution environment. The gateway can log, validate, and control traffic, providing security oversight while still allowing flexible local testing. This eliminates the security risk of unmonitored external connections while preserving the ability to test services locally.
3Adaptability or versatility
If dynamic mapping is maintained to reroute requests to test services, then service substitution is enabled, but system complexity increases significantly
Solution Approach 1:
The service under test automatically generates properly formatted requests that include necessary routing information. The gateway uses this self-provided information to route requests without requiring complex external mapping configurations. The system serves its own routing needs through the service's own request formatting, eliminating the need for external tools to maintain and propagate complex service mappings.
Solution Approach 2:
The patent extracts the routing logic from the complex external mapping system and embeds it directly in the service under test through automatic request formatting. The service itself contains the knowledge of how to reach its dependencies, removing the need for external routing infrastructure and significantly reducing system complexity while maintaining substitution capability.
4Ease of manufacture
If requests are rerouted from remote execution environment to local test services, then testing is enabled, but network errors and timeouts increase
Solution Approach 1:
The gateway as an intermediary optimizes the request routing path by performing protocol conversion and formatting before forwarding to the execution environment. It manages connections efficiently and can cache or pre-process requests, reducing the time spent on network communication and protocol negotiation. This intermediary role eliminates the latency and timeout issues associated with direct rerouting while enabling comprehensive testing.
Data Source
AI summary
The disclosed embodiments provide a system that manages access to resource versions in a shared computing environment. Routing data including locations of the resource versions is used to route a request to a resource version in the shared computing environment. For an application that is implemented by a set of resources, the routing data and the request is used to execute the application using an alternative version of a resource that is under test and default versions of other resources that are not under test.


