DevOps: Bridging Development and Operations

CSE4033 - IT Project Management | Module 4: Agile Project Management

Learning Outcomes

By the end of this section, you will be able to:

What is DevOps?

DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to shorten the systems development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives.

Why DevOps Matters

DevOps addresses the traditional conflict between development teams (who want to deploy new features quickly) and operations teams (who want to maintain system stability):

DevOps Principles

Continuous Integration

Developers merge code changes frequently (at least daily) into a shared repository where automated builds and tests verify the changes.

Continuous Delivery

Code changes are automatically built, tested, and prepared for release to production, enabling rapid and reliable software delivery.

Infrastructure as Code

Managing and provisioning infrastructure through code and automation rather than manual processes.

Monitoring & Logging

Tracking application and system performance to understand impact on user experience and inform improvements.

Communication & Collaboration

Breaking down silos between development, operations, and other stakeholders through shared tools and processes.

Security Integration

Building security into the development process from the beginning rather than adding it at the end (DevSecOps).

Interactive CI/CD Pipeline Simulation

DevOps Pipeline Demonstration

Click through the stages of a typical CI/CD pipeline to understand the DevOps workflow:

Plan
(Jira, Confluence)
Code
(Git, GitHub)
Build
(Jenkins, Maven)
Test
(Selenium, JUnit)
Release
(Docker, Kubernetes)
Deploy
(Ansible, Terraform)
Operate
(AWS, Azure)
Monitor
(Prometheus, ELK)

DevOps Tools Ecosystem

Essential DevOps Tools

Version Control

Git, GitHub, GitLab, Bitbucket

CI/CD

Jenkins, CircleCI, Travis CI, GitHub Actions

Configuration

Ansible, Chef, Puppet, Terraform

Containers

Docker, Kubernetes, OpenShift

Monitoring

Prometheus, Grafana, ELK Stack, New Relic

Cloud

AWS, Azure, Google Cloud, DigitalOcean

Testing

Selenium, JUnit, TestNG, Postman

Collaboration

Slack, Microsoft Teams, Jira, Confluence

DevOps vs. Traditional IT

Aspect Traditional IT DevOps
Release Frequency Months/quarters Days/hours
Team Structure Silos (Dev vs Ops) Cross-functional
Process Manual, linear Automated, iterative
Failure Response Blame culture Blameless postmortems
Change Management Change advisory boards Automated testing/gating

Test Your DevOps Knowledge

DevOps Quiz

1. What does CI stand for in DevOps?

Continuous Inspection
Continuous Integration
Continuous Improvement
Continuous Iteration

2. Which of these is NOT a benefit of DevOps?

Faster time to market
Improved collaboration
Reduced need for testing
Higher deployment frequency

3. What is the purpose of Infrastructure as Code?

To write operating system code
To manage infrastructure through code and automation
To document infrastructure requirements
To create visual diagrams of infrastructure

4. Which tool is commonly used for container orchestration?

Ansible
Jenkins
Kubernetes
Selenium

Further Learning Resources