Inner Cloud Environment for Microservice Compatibility Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Microservice applications in cloud environments are prone to breaking due to changes in underlying architecture, leading to significant downtime and complex debugging processes when the cloud environment updates, such as changes in OpenShift versions.
Innovation Solution
Automatically detecting broken microservice applications, generating an inner cloud environment within the outer cloud environment, testing a newer version of the microservice application for compatibility, and notifying users of available updates to minimize downtime by creating a proxy environment that mirrors the outer cloud environment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the cloud environment updates its underlying architecture (e.g., OpenShift version), then the cloud environment can access improved features and performance, but the microservice application may break and cause downtime
Solution Approach 1:
The system performs preliminary actions by automatically detecting when a microservice application breaks due to cloud environment updates, retrieving a compatible version from a repository, and deploying it before significant downtime occurs. This proactive approach prevents the reliability issue from fully manifesting.
Solution Approach 2:
A continuous integration tool acts as an intermediary between the cloud environment and the microservice application. This intermediary automatically detects breaks, retrieves compatible versions, and deploys fixes, serving as a buffer that protects the microservice application from direct impacts of cloud environment changes.
2Ease of repair
If manual debugging processes are performed to fix broken microservice applications, then compatibility issues can be resolved, but significant time is lost due to the complex debugging process
Solution Approach 1:
The system implements self-service by enabling the microservice application to automatically detect its own breaks, retrieve compatible versions, and deploy fixes without human intervention. The continuous integration tool automates the entire debugging and repair process, allowing the system to self-heal.
Solution Approach 2:
The system establishes a feedback loop where the continuous integration tool continuously monitors the microservice application, automatically detects when it breaks, and triggers automated retrieval and deployment of compatible versions. This closed-loop feedback mechanism eliminates manual debugging time.
3Ease of operation
If developers update microservice applications independently, then development flexibility is improved, but compatibility issues with the cloud environment architecture increase
Solution Approach 1:
The continuous integration tool serves as an intermediary that manages compatibility between independently developed microservice applications and the cloud environment. It automatically detects compatibility issues and deploys appropriate versions, maintaining flexibility while reducing complexity.
Solution Approach 2:
Instead of developers ensuring compatibility before deployment, the system inverts the approach by automatically detecting and fixing compatibility issues after deployment. The continuous integration tool retrieves and deploys compatible versions automatically, reversing the traditional compatibility assurance workflow.
Data Source
AI summary
A microservice application can be tested inside an inner cloud environment that is within an outer cloud environment. For example, a software application can generate an inner cloud environment within an outer cloud environment in response to an event associated with a microservice application. The software application can then deploy another version of the microservice application in the inner cloud environment. The software application can perform at least one test on the other version of the microservice application in the inner cloud environment to determine a compatibility of the other version of the microservice application with the inner cloud environment.


