The document discusses making DevOps a reality for legacy monolithic enterprise products. It describes a case study where nightly builds were taking over 7 hours and failing frequently, leading to long bug fix times. A deep dive identified issues like missing quality gates, flaky tests, and dissimilar environments. Recommended solutions included a continuous integration pipeline with static analysis, production-like environments, impact analysis, and feature completeness checks. The strategies aimed to deliver fast, ensure stability and continuity, reduce quality costs, and enable innovation through DevOps practices for a legacy monolithic system.
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Making DevOps a reality for Legacy Enterprise Monolithic Products
1. #DOPPA17
Making DevOps a Reality for Legacy
Monolithic Enterprise Products
Mandar Nadgouda
9th September 2017
2. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)
Key Goals of Product Life Cycle
To beat competition in overwhelming Cloud space
• Deliver Fast
• Ensure Continuity and Stability
• Reduce Cost of Quality
• Innovate to Enhance
3. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)
Strategy to meet goals
• Identify Key Metrics posing challenges to meet goals
• Do a Deep Dive
• Root Cause analysis
• Define Goal Oriented Solutions
• Planning and implementing Iteratively
4. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)
Case Study – Problem Statement
• Night Build taking more than 7 hours
• 60% of Nightly builds failing in any given week
• 40% defects were due to regressions
• 72 hours’ journey for a bug fix from dev to production
• Test Case Flakiness acting as a bottleneck
5. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)
Key Findings post Deep Dive
• Missing Quality gate for Check-in Builds
• Monolithic and hard coupled component builds
• Dissimilar Dev/QA and Production environments
• Lack of Automated Acceptance Tests
• No way to test Impact of changes being made
• Accumulated Waste over years
• On Premise Culture
• Flaky Test Cases
6. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)
Recommended Solutions
Fail Fast Continuous Integration Pipeline
• SonarQube Integration for Continuous Code Quality
Includes Static Code Analysis
Security Scans
Code Coverage
• Production like DEV + QA environments
• Impact Analyzer to identify Impacted Tests
• Execute Automated Acceptance and Impacted tests
• Granular Builds leveraging Centralized Repo’s
7. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)
Typical Check-in Build Pipeline
feature branch
developers branch
(not protected)
release branch
push
Peer
review
No quality checks
Pullrequest-pr
Collaborat
or review
Deploy S1
Packaging
SonarQube
Scan
Build
Repopr trigger
Deploy S2
Deploy S3
Build bvt
Server-bvt
Web-bvt
Impacted Tests
Dashboard
Deploy S1
Packaging
SonarQube
Scan
Build
Repo
pr trigger
Deploy S2
Deploy S3
Build bvt
Server-bvt
Web-bvt
Impacted Tests
Dashboard
Merge
Merge
Local clone
Static Code Analysis
Code Coverage
Security Scan
8. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)
Recommended solns. contd.
Feature Doneness before merging to Release
• 100% Test case automation
• 100% overall Automation pass rate
• 90%+ Code Coverage for new code
• 0 Vulnerabilities, 0 High Static Code Issues
• SME Reviews
• 0 High/Critical bugs
• Way to switch off features to avoid disruption to
existing customer use cases
9. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)
Typical Feature Branching Strategy
master
Feature Release
Feature 1
Feature 2
Feature 5
Feature 3
Feature 4
Feature 6
B
B B B B
R
B
R
Branch
Merge to release
branch by feature
owner
Merge to master
branch by release
owner
Pull from master/
release branch to
release/feature
branch
Defect Fixes for Release N Defects Fixes for Release N+1
B
R R
Monthly
Minor
Release
1
N+1
released
Monthly
Minor
Release 2
R
Monthly
Minor
Release 1
H H
H Hot Fixes
Released to Prod
Release to prod
H H H H H H
10. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)
Recommended solns. contd.
Effective Automation
• No room for flakiness
• 85% + Code Coverage (90%+ for new code)
• Test Case Hierarchy like Sanity, Confidence, Performance for
promoting builds
• Endpoint Contract to be thoroughly tested to ensure
backward compatibility
11. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)
Tool References
• GIT Hub- https://github.com/
• Blue Ocean Jenkins - https://jenkins.io/projects/blueocean/
• Sonar Qube - https://www.sonarqube.org/
• Impact Analyzer – Home grown
• CD Pipeline Dashboard -
https://developer.capitalone.com/opensource-
projects/hygieia/
http://www.smlcodes.com/tutorials/hygieia-dashboard-
tutorial/
12. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)
Conclusion
• Realize Core Strengths of the Monolithic Product
• Eliminate Waste
• Explore and Leverage Proven Tools
• Good DevOps Governance
Finally it’s difficult but not impossible to Make DevOps a
Reality for Legacy Enterprise monolithic product
13. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)
14. #DOPPA17
As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media
marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us)