Monolithic Application Deployment with Role-Based Traffic Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Deploying changes in monolithic applications can lead to unintended consequences, such as introducing bugs or issues, causing computer downtime and disruption, and presents scalability challenges, which hinder the adoption of new asset classes and improvements.
Innovation Solution
A structured deployment architecture with multiple identical environments (pre-pilot, pilot, and production) is employed, allowing thorough testing and validation before deployment, including pre-pilot and pilot testing stages to detect bugs early and ensure stability, with a product launcher module routing traffic to appropriate environments based on user roles and configurations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If monolithic application architecture is used for rapid development and cost-effectiveness, then development speed and simplicity are improved, but deployment risk and scalability are worsened
Solution Approach 1:
The patent segments the monolithic application deployment into multiple independent environments (development, staging, production) that can be managed separately. Each environment operates independently with its own configuration, allowing changes to be tested and validated before full deployment, thereby reducing deployment risk while maintaining the monolithic architecture's development benefits
Solution Approach 2:
The patent implements preliminary testing actions in development and staging environments before deploying to production. Configuration changes are validated in advance through multiple environment stages, ensuring that bugs and issues are detected early before impacting the live system, thus reducing deployment risk while preserving rapid development capabilities
2Device complexity
If monolithic application architecture is used for consistency and simplicity, then system simplicity is improved, but scalability is worsened
Solution Approach 1:
The patent segments the application stack into environment-specific instances that can be independently scaled and configured. Each environment (development, staging, production) can be replicated and scaled separately based on specific needs, allowing the organization to scale individual environments without replicating entire application stacks, thus improving scalability while maintaining system simplicity
Solution Approach 2:
The patent applies local quality by allowing different configurations and resource allocations for different environments. Each environment can be optimized independently with appropriate hardware, software, and configuration settings suited to its specific requirements, enabling targeted scalability improvements without affecting the entire system
3Speed
If application updates are deployed directly to production, then deployment speed is improved, but system stability is worsened
Solution Approach 1:
The patent implements preliminary validation actions in development and staging environments before production deployment. Configuration changes are tested and verified in advance through automated testing and manual validation processes in lower-environment stages, ensuring system stability is maintained while enabling rapid production deployment of validated changes
Solution Approach 2:
The patent provides a cushioning buffer through multiple environment stages between development and production. If issues are detected, the rollback mechanism can quickly revert to previous stable configurations in any environment, preventing system instability from propagating to production while maintaining fast deployment capabilities for validated changes
Data Source
AI summary
Application deployment and operation is provided. Information associated with a respective application is processed, including to determine a respective version of the application and a configuration of at least some of the application. As a function of the processing, configuration information representing the configuration of at least some of the respective version of the application is generated. By processing at least the configuration information, the version of the application is assigned for operation in a respective one of a plurality of deployment environments, while at least one other version of the application operates in at least one other of the plurality of deployment environments. As a function of at least the version of the application and respective computer-based roles, at least some of the computer network traffic associated with respective ones of computing devices to respective ones of the plurality of deployment environments where respective versions of the application operate.


