Production Request Interception for Resilient Software Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for testing software in production environments fall short due to the dissimilarity between test and production environments, leading to incomplete failure scenario identification and potential financial losses or customer complaints, with chaos and latency monkeys causing negative impacts on service level agreements.
Innovation Solution
A system that intercepts requests in the production environment, determines if they are synthetic or live, and responds accordingly, allowing for emulation and modification of synthetic requests without accessing the database resource, enabling robust testing within the production environment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If chaos and latency monkeys are used to inject failures in the production environment, then failure scenarios can be identified and tested, but service level agreements and production requests are negatively impacted
Solution Approach 1:
The patent introduces an intermediary system that sits between the test requests and the production database resources. This intermediary intercepts synthetic test requests, identifies them as such, and responds without actually accessing the database, thereby mediating between testing needs and production stability.
Solution Approach 2:
The system segments request handling into two distinct paths: one for live production requests that access the database, and another for synthetic test requests that are handled by the intermediary without database access. This segmentation allows testing functionality to be separated from production operations.
2Ease of manufacture
If a test environment is used to identify and test failure scenarios, then testing can be performed, but the test environment is different from the production environment leading to incomplete failure scenario identification
Solution Approach 1:
Instead of using a separate test environment that copies production, the patent enables the production environment itself to be used for testing by having the database resource interface handle both live and synthetic requests. This eliminates the copy discrepancy while maintaining production stability through request differentiation.
Solution Approach 2:
The database resource interface is designed to perform multiple functions: handling both live production requests and synthetic test requests. This multi-functionality allows the same production infrastructure to serve both operational and testing purposes without compromise.
3Adaptability or versatility
If upgrades are implemented to improve system functionality, then new features and improvements are added, but compatibility issues with un-upgraded features can cause system instability
Solution Approach 1:
The patent enables testing of upgrades and new features in the production environment before they are fully deployed. By using synthetic requests to simulate various scenarios including failure conditions, potential compatibility issues can be identified and resolved beforehand, ensuring system stability when upgrades are implemented.
Data Source
AI summary
Methods, computer program products, and systems are presented. The method computer program products, and systems can include, for instance: marking of a request to define a marked request that includes associated metadata, wherein the metadata specifies action for performing by a resource interface associated to a production environment resource of a production environment, wherein the resource interface is configured for emulating functionality of the production environment resource; and sending the marked request to the resource interface for performance of the action specified by the metadata.


