Microservices Cloud-Native Architecture for Simulation Deployment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing diversity of platforms and infrastructures complicates the deployment of software, making traditional monolithic deployment methods time- and cost-consuming, especially for resource-intensive simulation software that requires frequent updates.
Innovation Solution
A microservices-based cloud-native architecture for deploying simulation software as a service (SiMSaaS), which includes a client layer with an edge device, a control layer with containers and orchestration nodes, and a data layer, enabling infrastructure-independent delivery and management of simulation content from cloud, on-premise, or hybrid-cloud systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional monolithic deployment method is used, then software can be deployed on single platform, but deployment time and cost increase significantly with platform diversity
Solution Approach 1:
The software is divided into independent microservices that can be deployed separately across different platforms. Each microservice is containerized and can run on any platform supporting the container runtime, eliminating the need for monolithic reconfiguration when deploying to new platforms.
Solution Approach 2:
The system uses standardized container interfaces and orchestration mechanisms that provide universal deployment capability across diverse platforms. The containerization approach creates a universal runtime environment that abstracts platform-specific differences, allowing the same software package to run anywhere.
2Adaptability or versatility
If traditional monolithic deployment method is used, then software structure is simple, but deployment complexity increases with infrastructure diversity
Solution Approach 1:
The patent introduces an intermediary layer consisting of container runtimes and orchestration systems that mediate between the software and diverse infrastructure. This intermediary abstracts away infrastructure-specific complexities, presenting a uniform interface for deployment while handling platform-specific details underneath.
3Productivity
If simulation software is updated frequently to provide intensive capabilities, then software functionality improves, but deployment time and cost increase
Solution Approach 1:
The system performs preliminary actions by containerizing microservices in advance and preparing deployment packages that can be rapidly instantiated. The container images are built and validated beforehand, allowing for quick deployment when updates are needed, as the heavy lifting of environment configuration has already been done.
Solution Approach 2:
The system enables dynamic deployment of microservices through container orchestration. Individual microservices can be updated, started, stopped, or scaled independently without affecting the entire system, allowing for agile and frequent updates to simulation capabilities.
4Productivity
If monolithic software architecture is used, then system structure is simple, but scalability and maintenance become problematic with increasing capabilities
Solution Approach 1:
The software is segmented into independent microservices that each handle specific simulation capabilities. This segmentation allows the system to grow by adding individual services rather than expanding a monolithic codebase, maintaining manageability even as capability intensity increases.
Data Source
AI summary
A system and method for deploying software is disclosed. The system includes an architecture for deploying simulation software as a service. The architecture includes a client layer. The client layer includes an edge device, a resource manager, an update framework, a firewall, and a key management system. The architecture further includes a control layer communicatively coupled to the client layer, wherein a portion of the control layer is configured within a server. The control layer includes an application programming interface, one or more containers, wherein at least one of the one or more containers is a simulation processing container. The control layer further includes an orchestration node, a continuous integration tool, one or more processors, and a content delivery network module. The architecture further includes a data layer communicatively coupled to the one or more containers.


