Microservice Layer Repository Segmentation for Independent Compilation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Tight coupling between layers in microservice architecture makes independent development and maintenance of source code inefficient, as changes to one layer can affect others and developers cannot work independently on different layers.
Innovation Solution
Storing source code for different layers in separate repositories allows for independent compilation and management, generating unique packages for each layer, and creating container images that include these packages for efficient deployment and communication between layers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If source code for different layers is stored in the same repository and compiled together, then layers can communicate through shared code, but developers cannot work independently and changes to one layer affect others
Solution Approach 1:
The patent divides the monolithic repository into multiple separate repositories, with each repository storing source code for a specific layer of the microservice architecture. This segmentation allows developers to work independently on different layers without affecting other layers, while still enabling integrated deployment through the system's orchestration capabilities.
2Productivity
If layers are tightly coupled in a monolithic architecture, then deployment is straightforward, but maintenance and modification of individual layers becomes inefficient
Solution Approach 1:
The system segments the application into independent microservice layers, each stored in its own repository and compiled separately into packages. This enables parallel development and independent modification of layers while maintaining system integrity through standardized API contracts and coordinated deployment.
Solution Approach 2:
The patent introduces intermediary components including API contracts, package manifests, and orchestration logic that mediate between independently developed layers. These intermediaries ensure that loosely coupled layers can communicate effectively and maintain system coherence without requiring tight coupling.
3Ease of operation
If source code is independently compiled for each layer, then development flexibility improves, but package management and integration complexity increases
Solution Approach 1:
The patent implements a universal package format and standardized manifest structure that can accommodate independently compiled layers from multiple repositories. This universal approach simplifies package management by providing consistent interfaces for storing, retrieving, and integrating packages regardless of their source layer, reducing the complexity that would otherwise arise from heterogeneous package formats.
Data Source
Figure 1
Figure 2
AI summary
In one implementation, a method includes receiving data characterizing a notification indicative of modification to a first source code of a first layer of a software architecture. The first layer is stored in a first repository of a plurality of repositories of a microservice. The method further includes generating a modified first package including a first computer-executable code generated by at least compiling the first source code and assigning a unique first name to the modified first package. The method further includes transmitting an instruction to a repository manager of a package repository to store the modified first package with the assigned first name in the package repository. The method also includes generating a first modified container image including the modified first package.