Introduction
DevOps is a set of practices and a culture that combines software development and IT operations, aiming to break down the traditional wall between the team that writes code and the team that runs it in production. Instead of developers throwing a finished feature over to a separate operations team to deploy and support, DevOps has both groups share responsibility for a system's whole lifecycle, from writing the code to monitoring how it behaves once real users are on it.
Cricket analogy: A team that keeps its batting coaches and fitness staff working in separate silos, only handing the player off between them, gets less coordinated preparation than a setup where both groups share responsibility for the player's whole development, mirroring how DevOps breaks down the wall between development and operations.
Explanation
A core DevOps practice is continuous integration and continuous delivery, commonly abbreviated CI/CD: developers merge small code changes frequently, an automated pipeline builds and tests each change immediately, and passing changes can be deployed to production quickly and repeatedly rather than in large, infrequent releases. This shortens the feedback loop between writing code and learning whether it works correctly, so problems are caught while the change is still small and fresh in a developer's mind, rather than weeks later in a large batch of accumulated changes.
Cricket analogy: Reviewing a batting technique adjustment right after a single net session, rather than waiting until the end of a long tour to review months of accumulated form, catches a flaw while it's still fresh, the same shortened feedback loop CI/CD gives a small, frequent code change.
DevOps also relies heavily on automation and infrastructure as code, where servers, networks, and environment configuration are defined in version-controlled files rather than set up by hand, so an environment can be recreated identically and quickly instead of depending on undocumented manual steps. Combined with monitoring and logging that give both developers and operations visibility into how a system behaves in production, this automation and shared visibility is what lets teams find and fix problems quickly instead of the traditional model where operations discovers an issue and has to escalate it back to developers with limited information.
Cricket analogy: A ground's pitch preparation defined in a written, repeatable checklist rather than left to one groundskeeper's memory can be recreated identically match after match, the same reliability infrastructure as code brings to setting up a server environment.
Example
# Simplified CI/CD pipeline definition (conceptual YAML)
name: build-test-deploy
on: [push]
jobs:
build_and_test:
steps:
- run: install dependencies
- run: run automated test suite
deploy:
needs: build_and_test
steps:
- run: deploy to production only if tests passedKey Takeaways
- DevOps combines software development and IT operations into shared responsibility for a system's whole lifecycle.
- CI/CD (continuous integration and continuous delivery) automates building, testing, and deploying small, frequent code changes.
- Shortening the feedback loop between writing code and learning if it works lets problems be caught early, while still fresh.
- Infrastructure as code defines environments in version-controlled files so they can be recreated identically instead of by hand.
- Monitoring and logging give both developers and operations shared visibility into how a system behaves in production.
Practice what you learned
1. What is the core idea behind DevOps as a culture?
2. What does CI/CD stand for and enable?
3. Why does CI/CD shorten the feedback loop for developers?
4. What is infrastructure as code?
5. What benefit does shared monitoring and logging provide in a DevOps culture?
Was this page helpful?
Related Reading
Related Study Notes in DevOps
Browse all study notesNginx Study Notes
DevOps · 30 topics
DevOpsAnsible Study Notes
DevOps · 30 topics
DevOpsAdvanced Kubernetes Study Notes
Kubernetes · 30 topics
DevOpsAdvanced Bash Scripting Study Notes
Bash · 30 topics
DevOpsApache Kafka Study Notes
Kafka · 30 topics
DevOpsDocker & Kubernetes Study Notes
YAML · 40 topics