Tenant-Aware Service Stacking with Context Propagation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud native applications, indirectly-consumed services lose context information due to shared service instances across multiple applications, leading to data isolation issues and inability to maintain tenant-specific persistence and authentication.
Innovation Solution
Implementing a method where service brokers dynamically create separate service instances for each consuming application, and propagate the consumer tenant ID down the service stack to ensure proper isolation and authentication, using subaccounts to differentiate between owning and consuming services.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a service creates just one instance of an indirectly-consumed service to be used by all its own instances, then device complexity is reduced, but context information is lost and tenant isolation cannot be maintained
Solution Approach 1:
The patent segments service instances by creating separate instances for each consuming application. Instead of having service S1 share a single instance of indirectly-consumed service S2 across all its instances, the system creates distinct instances of S2 for each application, ensuring that context information remains isolated and preserved within each application's service instance chain.
2Reliability
If separate service instances are created for each consuming application to preserve context information, then tenant isolation is improved, but device complexity increases
Solution Approach 1:
The patent implements a nested service instance structure where service instances are organized in hierarchical chains. Each service instance contains references to its consuming application and bound services, creating a nested relationship where Application -> Service S1 -> Service S2 -> Service S3 forms a nested chain. This nesting allows context information to be preserved at each level while maintaining manageable complexity through structured relationships.
3Adaptability or versatility
If one service instance is shared across multiple applications, then service reusability is improved, but data isolation between consumers is compromised
Solution Approach 1:
The patent segments service instances to eliminate sharing between applications. Each application receives its own dedicated instance of services, preventing data isolation issues. The segmentation ensures that while services remain reusable across different applications through the same service interface and logic, the actual runtime instances are isolated, maintaining both reusability and data isolation reliability.
Data Source
AI summary
Methods and systems are used for using services in stacked services. As an example, a first service instance of a first service bound to a first application is instantiated. A second service instance of a second service is instantiated from within a first service broker. The second service instance is bound to the first service to be used indirectly in a context of the first application. A subaccount of the first application is provided to the second service as a first consumer. A third service instance of a third service is instantiated from within a second service broker. The third service instance is bound to the second service to be used indirectly in a context of the first application. The first application uses the second service indirectly through the first service. The subaccount of the first application is provided to the third service as the first consumer.


