Computational Graph API Testing for Cloud Service Stability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud provider networks face overloading and interference in servicing requests due to customer-driven descriptive information requests, which can impact the stability and predictability of backend computing systems, potentially interfering with resource management operations.
Innovation Solution
An aggregated descriptive data service is deployed, which uses an event stream to maintain a durable cache of data, redirecting customer requests and stabilizing the load on backend systems, while a computational graph is generated to infer test cases and verify API properties, ensuring consistency and properties like inter-customer isolation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If customer-driven descriptive information requests are processed directly by backend computing systems, then customers can obtain their requested information, but backend systems become overloaded and unstable
Solution Approach 1:
An aggregated descriptive data service is introduced as an intermediary between customers and backend computing systems. This service receives descriptive information requests from customers, queries the durable cache for the requested information, and returns results without requiring backend systems to process these requests directly. The intermediary absorbs the load of customer queries while maintaining system stability and preserving backend capacity for resource management operations.
2Productivity
If a durable cache is implemented to store descriptive information, then request processing efficiency is improved, but system complexity increases
Solution Approach 1:
Descriptive information about computing resources is pre-computed and stored in a durable cache before customer requests arrive. The aggregated descriptive data service maintains this cache and uses it to immediately satisfy customer queries without requiring real-time computation from backend systems. This preliminary preparation of data eliminates the need for complex real-time processing logic during request handling.
3Reliability
If computational graphs are generated to verify API properties, then service consistency and isolation are ensured, but testing and verification time increases
Solution Approach 1:
Computational graphs representing API calls are generated and analyzed in advance to automatically infer test cases and verify service properties such as inter-customer isolation and API consistency. This preliminary verification establishes a baseline of correct behavior that can be used to detect regressions and ensure quality without requiring extensive manual testing for each deployment.
Data Source
AI summary
Various embodiments for testing and verifying cloud services using computational graphs. In one embodiment, a computational graph is generated that represents corresponding actions performed by a plurality of agents and data associated with the corresponding actions. The computational graph is generated based at least in part on data describing a plurality of calls to an application programming interface (API) or a static analysis of the API. A plurality of test cases are generated for the API by analyzing the computational graph.


