DevOps Fundamentals
Culture plus automation
DevOps is a way of working that joins development and operations around fast, reliable flow, not a team name or a tool. CALMS is a useful frame: culture, automation, lean, measurement, and sharing. Version control is the source of truth; trunk-based development with small, reviewed changes reduces integration risk. The testing pyramid favors many fast unit tests, fewer integration tests, and a small number of end-to-end tests.
Pipelines and infrastructure
CI merges and tests code continuously. Continuous delivery keeps every build releasable behind a manual approval; continuous deployment releases automatically. Pipelines should include build, unit tests, security and dependency scans, artifact storage, environment deployment, integration tests, and approval gates. Infrastructure as code and configuration as code make environments reproducible; GitOps uses Git as the desired-state source, with an agent reconciling drift. Containers package dependencies; orchestration schedules and heals them.
Operate and learn
Observability combines metrics, logs, and traces. SRE practices use SLOs and error budgets to balance reliability and change. Blameless postmortems find systemic causes. Feature flags separate deployment from release. Shift security left with scanning and policy checks in the pipeline. Chaos engineering tests resilience deliberately.
Traps
CI is not CD. Continuous delivery is not continuous deployment. DevOps is not the same as developers taking over operations, nor is it a single tool. IaC without drift detection slowly diverges from reality. A pipeline that skips security scanning just automates vulnerability.
Worked example
A small team wants safer releases. Build a pipeline: commit triggers build, unit tests, dependency and container scans, artifact publish, deploy to staging, integration and smoke tests, manual approval, canary to production, then full rollout. Keep the prior artifact for rollback. Rule of thumb: if a step is painful, automate it and do it more often.