Abstract:
Agile practices with Continuous Integration and
Continuous Delivery (CICD) pipeline approach has increased the
efficiency of projects. In agile, new features are introduced to the
system in each sprint delivery, and although it may be well
developed, the delivery failures are possible due to performance
issues. By considering delivery timeline, moving for system
scaling is common solution in such situations. But, how much
system should be scaled? System scale requires current system
benchmark status and expected system status. Benchmarking the
production is a critical task, as it interrupts the live system. The
new version should go through a load test to measure expected
system status. The traditional load test methods are unable to
identify production performance behavior due to simulated
traffic patterns are highly deviated from production. To
overcome those issues, this approach has extended CICD pipeline
to have three automation phases named benchmark, load test
and scaling. It minimizes the system interruption by using test
bench approach when system benchmarking and it uses the
production traffic for load testing which gives more accurate
results. Once benchmark and load test phases are completed,
system scaling can be evaluated. Initially, the pipeline was
developed using Jenkins CI server, Git repository and Nexus
repository with Ansible automation. Then GoReplay is used for
traffic duplication from production to test bench environment.
Nagios monitoring is used to analyze the system behavior in each
phase and the result of test bench has proven that scaling is
capable to handle the same load while changing the application
software, but it doesn’t optimize response time of application at
significant level and it helps to reduce the risk of application
deployment by integrating this three phase approach as CICD
automation extended feature. Thereby the research provides
effective way to manage Agile based CICD projects.
Citation:
S. A. I. B. S. Arachchi and I. Perera, "Continuous Integration and Continuous Delivery Pipeline Automation for Agile Software Project Management," 2018 Moratuwa Engineering Research Conference (MERCon), 2018, pp. 156-161, doi: 10.1109/MERCon.2018.8421965.