Explain 7 C’s of the DevOps lifecycle in detail.
1. Continuous Development
Continuous Development means developing software step by step instead of building
everything at once. Developers plan, code, and test small features regularly. This helps in
getting quick feedback, finding problems early, and delivering updates faster.
Example:
A team is building a food delivery app.
On Monday, they add the Login feature and test it.
On Tuesday, they add Search for Restaurants and test it.
Each feature is added one by one. If the Login feature has an issue, it can be fixed quickly
without affecting other features.
2. Continuous Integration
Continuous Integration (CI) means automatically combining and testing code whenever a
developer makes a change.
Main Steps:
Developers push code to GitHub.
Jenkins builds the code using Maven.
SonarQube checks code quality.
The final build is stored in Nexus.
Example:
When a developer adds “Track Delivery Person on Map”:
The code is pushed to GitHub.
Jenkins builds and tests it automatically.
After quality checks, the final .jar file is saved in Nexus.
This ensures every change is tested without manual work.
3. Continuous Testing
Continuous Testing means automatically testing the application after every code change. It
helps find bugs early and keeps the application stable.
Example:
When the “Apply Coupon” feature is added:
Automated tools like Selenium test whether:
o The coupon works correctly
o The price updates properly
o Checkout works smoothly
If a test fails, the developer is informed immediately.
4. Continuous Deployment / Continuous Delivery
Continuous Deployment
The application is automatically deployed to production after successful testing.
Continuous Delivery
The application is always ready, but deployment to production is done manually after
approval.
Example:
A “Refer & Earn” feature is developed and tested.
It stays in staging until the product team approves.
Once approved, it is deployed with one click.
5. Continuous Monitoring
Continuous Monitoring means watching application performance all the time using tools
like Prometheus and Grafana.
Example:
If the Order History page becomes slow:
Prometheus sends an alert.
Grafana shows high traffic during peak hours.
The team improves server settings or code.
This prevents failures and keeps the app running smoothly.
6. Continuous Feedback
Continuous Feedback means collecting user feedback and improving the application based
on it.
Example:
If users say live tracking is slow:
Feedback is collected from reviews and support.
Developers fix the issue in the next update.
User experience improves.
7. Continuous Operations
Continuous Operations focus on keeping the application running all the time with
minimum downtime. It improves availability, reduces maintenance issues, and gives a better
experience to users.
Explain the key principles of DevOps.
1. Customer-Centric Action
1. DevOps strongly focuses on customer needs and satisfaction.
2. Get continuous feedback from users
3. Improve products based on customer expectation.
4. Innovate continuously to meet customer expectations
5. Change strategies that do not satisfy customers.
6. Spend time and effort to make the product better for customers.
2. Create with the End in Mind
1. Traditional models (like waterfall) make people focus only on their own tasks.
2. Team members may not understand the final product clearly.
3. DevOps promotes a product mindset instead of a task mindset.
4. Teams clearly define the final goal before starting work.
5. Everyone understands how their work contributes to the product.
6. The product is built to meet real customer needs.
7. Team members share an engineering mindset to design and build the product.
3. End-To-End Responsibility
1. In traditional models, development and operations work separately.
2. Software is handed over from developers to operations teams.
3. This handover causes delays and inefficiency.
4. DevOps combines development and operations into one team.
5. The same team handles the product from requirement to end of life.
6. The team develops, deploys, monitors, and maintains the product.
7. End-to-end responsibility leads to faster delivery and better results.
4. Cross-Functional Autonomous Teams
1. Teams should be independent to handle the entire product lifecycle.
2. The team has end-to-end responsibility for the product.
3. Each team includes members with different skills (development, testing, operations).
4. Full-stack developers can do requirement analysis, design, coding, and testing.
5. Teams do not depend on other teams for most tasks.
6. Such teams are self-contained and autonomous.
7. This improves speed, flexibility, and quality of delivery.
5. Continuous Improvement
1. Continuous improvement means constantly improve processes and products.
2. Adapt to changes based on customer requirements and technology.
3. DevOps encourages a culture of continuous learning and improvement.
4. DevOps culture focuses on improving speed and efficiency.
5. It helps reduce cost and avoid waste.
6. Teams regularly review their processes, tools, and performance.
7. Based on reviews, processes are improved continuously.
6. Automate Everything You Can
1. Automation is a key principle of DevOps.
2. Tasks such as code integration, testing, deployment, and infrastructure setup are
automated using CI/CD pipelines.
3. Automation reduces manual errors, speeds up delivery, and supports frequent releases..
2 Marks Questions with Answer
1. What is DevOps?
DevOps is a software development approach that combines Development (Dev) and Operations
(Ops) teams to work together throughout the software lifecycle. The main goal of DevOps is to
deliver high-quality software faster and more reliably.
2. Identify the key challenges faced during DevOps implementation
Culture Change
Knitting the Silos Together
Giving up Legacy Systems
Tool Turbulence
Different Metrics
Resistance to Change
Process Challenges