Scaling CI/CD Pipelines in Microservices Architectures for Large Enterprises: Performance and Reliability Considerations
Keywords:
CI/CD pipelines, microservices architecturesAbstract
Large, constantly shifting microservices enterprises need CI/CD pipeline scalability, dependability, and performance. This work highlights stable deployment and speed optimization to enhance CI/CD operations. The CI/CD synchronization of microservices across teams and services slows down software release. Fragmented systems are naturally appealing.
First compare microservices CI/CD vs monolithic systems. The article then addresses problems with enterprise scale including maintaining high throughput under varying load conditions, controlling inter-service dependencies, and consistent installation. The dynamic nature of microservices could put pressure on CI/CD infrastructure, postpone installations, and raise resource contention.
References
M. Fowler and J. Lewis, "Microservices: A Definition of this New Architectural Term," ThoughtWorks, 2014. https://www.thoughtworks.com/insights/blog/microservices-definition
J. Humble and D. Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, Addison-Wesley, 2010.
K. Beck et al., Manifesto for Agile Software Development, Agile Alliance, 2001. Available: https://agilemanifesto.org/
G. Krasner and S. Pope, "A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80," Journal of Object-Oriented Programming, vol. 1, no. 3, pp. 26-49, 1988.
M. P. Papageorgiou, "The Evolution of Microservices and How to Implement Them," IEEE Software, vol. 38, no. 5, pp. 72-79, 2021.
D. Parnas, "On the Criteria to Be Used in Decomposing Systems into Modules," Communications of the ACM, vol. 15, no. 12, pp. 1053-1058, 1972.
A. R. Ghezzi and P. D. C. H. K. Tripathy, Software Engineering, Springer, 2018.
C. Richardson and S. Smith, Microservices Patterns: With examples in Java, Manning Publications, 2018.
J. Lewis and M. Fowler, "Microservices: Decomposing Applications for Deployability and Scalability," IEEE Software, vol. 33, no. 1, pp. 64-72, 2016.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994.
J. Brown, "Scaling Continuous Integration for Large Enterprises," IEEE DevOps Journal, vol. 5, no. 3, pp. 45-51, 2020.
D. T. G. Anderson, "Effective Use of Containerization Technologies: A Case Study," IEEE Transactions on Cloud Computing, vol. 9, no. 4, pp. 1234-1245, 2021.
C. S. Shankaranarayanan, "Jenkins: The CI/CD Tool for Agile Development," IEEE Software, vol. 38, no. 1, pp. 25-32, 2021.
M. Arora and P. Gupta, "Optimizing Build Times in CI/CD Pipelines," IEEE Transactions on Software Engineering, vol. 47, no. 8, pp. 1952-1966, 2021.
L. T. Silva and M. M. Stalling, "Kubernetes: Scaling Containerized Applications," IEEE Transactions on Network and Service Management, vol. 18, no. 2, pp. 230-240, 2021.
T. D. Houghton, "Advanced CI/CD Tools: Comparing Jenkins, GitLab CI, and CircleCI," IEEE DevOps Journal, vol. 6, no. 2, pp. 78-87, 2021.
A. Chien and K. P. Pappas, "Container Orchestration and Its Impact on CI/CD Pipelines," IEEE Transactions on Cloud Computing, vol. 9, no. 6, pp. 1594-1606, 2021.
S. Anderson and R. S. Kahn, "Automated Testing in CI/CD Pipelines: Best Practices and Frameworks," IEEE Software, vol. 38, no. 3, pp. 40-48, 2021.
T. D. O'Connor, "Strategies for Managing Deployment Failures and Rollbacks," IEEE Transactions on Software Engineering, vol. 48, no. 1, pp. 12-24, 2021.
R. A. Jones, "Continuous Monitoring Systems: Ensuring Pipeline Integrity," IEEE DevOps Journal, vol. 7, no. 1, pp. 32-45, 2021.