Co-locating Microservice Persistence Containers in Tenant-Specific Database
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Microservice-oriented application platforms face challenges in dynamically managing service instances for multi-tenancy, as static binding is insufficient for creating additional instances at runtime and connecting to specific tenant instances, leading to inefficiencies in data management and security.
Innovation Solution
Implementing a central instance manager that co-locates persistence containers of different microservices within a tenant-specific database, using a two-dimensional mapping to allocate tenant-specific microservice data, allowing for dynamic instance management and enhanced security, backup, and access control.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If static binding is used for service instances, then deployment time binding is simple, but runtime flexibility for multi-tenancy is insufficient
Solution Approach 1:
The patent implements dynamic service instance management by allowing the system to create, bind, and manage multiple service instances at runtime based on tenant requirements. The instance manager dynamically provisions service instances and binds them to tenants, enabling flexible adaptation without static pre-binding configurations.
Solution Approach 2:
The patent introduces an instance manager as an intermediary component that mediates between the service broker and service instances. This intermediary handles the complexity of dynamic instance creation, binding, and management, shielding tenants from complexity while enabling runtime flexibility.
2Reliability
If each tenant has separate database schemas, then data isolation is achieved, but data management efficiency decreases
Solution Approach 1:
The patent segments tenant data into separate schemas within a unified database, providing data isolation for security and reliability while maintaining efficient centralized management. Each tenant's data is isolated in its own schema, yet the unified database structure enables streamlined backup, recovery, and access management operations.
3Adaptability or versatility
If service instances are distributed across multiple databases, then service independence is maintained, but backup and recovery complexity increases
Solution Approach 1:
The patent merges multiple service instances and their associated data into a unified database structure with separate schemas. This consolidation enables centralized backup and recovery operations while maintaining service independence through schema-level isolation, reducing the complexity of managing distributed database backups.
4Adaptability or versatility
If dynamic instance creation is implemented, then multi-tenancy flexibility is improved, but system complexity increases
Solution Approach 1:
The instance manager serves as an intermediary that abstracts and manages the complexity of dynamic service instance creation. It handles tenant authentication, service instance provisioning, binding, and unbinding operations, enabling multi-tenancy flexibility while shielding the system from management complexity.
Solution Approach 2:
The system implements self-service capabilities where tenants can dynamically create and manage their own service instances through the instance manager interface. This automated approach reduces manual configuration complexity while maintaining high multi-tenancy flexibility.
Data Source
AI summary
A platform's central instance manager (IM) receives microservice requests issued to a common application shared between various tenants. Embodiments function to co-locate within a same database, the persistence containers of different microservice instances of a specific tenant. The central IM associates a corresponding tenant identifier with microservice request instances created. Referencing this assigned tenant identifier, the central IM maintains an external configuration file comprising a mapping of services (m) and tenants (n), to relevant persistence container service instances. Such mapping permits the allocation of tenant-specific microservice data for storage within persistence containers of a particular database. This co-location of data promotes flexibility, allowing tenants to furnish database structures tailored to their individual needs. Consolidating microservice persistence containers within a tenant-specific database may also facilitate: the efficient backup of data, the isolation of individual tenant data for security purposes, and/or the provision of access to individual tenant data by extension application(s).


