Instance Broker for Dynamic Service Instance Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Microservice-oriented application platforms face challenges in managing service instances dynamically, particularly in multi-tenancy scenarios where static binding is insufficient for handling new tenants and switching between service instances.
Innovation Solution
The introduction of an instance broker that allows applications to dynamically manage service instances by creating and binding to an instance broker service instance, enabling the application to access and switch between different service instances as needed, such as database schemas, without requiring multiple deployments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If static binding of service instances is used at deployment time, then application simplicity is maintained, but multi-tenancy capability and dynamic scalability are insufficient
Solution Approach 1:
The service instance management is segmented into two distinct phases: deployment-time binding for initial configuration and runtime dynamic binding for multi-tenancy support. This allows the system to maintain simplicity for single-tenant scenarios while enabling dynamic instantiation for multi-tenant requirements without overwhelming complexity.
Solution Approach 2:
The system transitions from static binding to dynamic binding, allowing service instances to be created, bound, and unbound at runtime based on tenant requirements. This dynamic approach enables multi-tenancy capability while managing complexity through standardized runtime binding operations.
2Adaptability or versatility
If additional service instances are created at runtime for new tenants, then multi-tenancy is supported, but deployment time increases and system complexity increases
Solution Approach 1:
Service instance templates are prepared in advance during deployment, with all necessary configurations pre-defined. When new tenants are added at runtime, the system instantiates pre-configured templates rather than creating instances from scratch, significantly reducing the time required for runtime instantiation while maintaining tenant separation.
3Ease of operation
If static service instance binding is used, then deployment simplicity is maintained, but runtime flexibility and switching between instances is limited
Solution Approach 1:
A runtime binding mechanism serves as an intermediary between applications and service instances, managing the complexity of dynamic instantiation and switching. This mediator handles template selection, instance creation, and binding operations, providing simple runtime operations to applications while managing the underlying complexity centrally.
4Productivity
If dynamic service instance management is implemented, then scalability and multi-tenancy are improved, but compatibility with existing interfaces may be compromised
Solution Approach 1:
The runtime binding mechanism is designed with universal interfaces that work across different service types and deployment scenarios. The same binding operations support both traditional deployment-time scenarios and new runtime dynamic scenarios, maintaining interface compatibility while enabling enhanced productivity through dynamic service provisioning.
Data Source
AI summary
A request is received from a deployer associated with an application to create an instance broker service instance. A request is received from the deployer to bind the instance broker service instance to the application. Instance broker credentials associated with the instance broker service instance are received and provided to the application. The application uses the instance broker credentials to access the instance broker service instance and determines whether to create a new service instance using the instance broker service instance.


