devops

Introduction to DevOps

What DevOps is, why it exists, and the core principles behind it


What is DevOps?

DevOps is a set of practices, cultural philosophies, and tools that bring together software development (Dev) and IT operations (Ops). The goal is to shorten the software development lifecycle and deliver high-quality software continuously.

Before DevOps, Dev and Ops teams worked in silos:

  • Developers wrote code and β€œthrew it over the wall” to Ops
  • Ops deployed it and dealt with production issues
  • Blame, slow releases, and instability followed

DevOps breaks down those walls.


Core Principles

1. Collaboration

Dev and Ops teams share responsibility for the entire lifecycle β€” from writing code to running it in production.

2. Automation

Automate everything that can be automated: testing, building, deploying, monitoring. Manual steps are slow and error-prone.

3. Continuous Improvement (Kaizen)

Measure everything. Use data to find bottlenecks and fix them iteratively.

4. Customer-Centric Action

Every decision is guided by what delivers value to the end user.

5. End-to-End Responsibility

The team that builds the software also runs it. β€œYou build it, you run it.”


The DevOps Lifecycle

Plan β†’ Code β†’ Build β†’ Test β†’ Release β†’ Deploy β†’ Operate β†’ Monitor β†’ (back to Plan)
PhaseWhat HappensExample Tools
PlanDefine features, sprints, ticketsJira, GitHub Issues
CodeWrite and review codeGit, VS Code
BuildCompile and package the appMaven, npm, Docker
TestRun automated testsJest, Selenium, PyTest
ReleaseApprove and tag a releaseGitHub Releases
DeployPush to servers/cloudKubernetes, Ansible
OperateKeep the system runningSystemd, ECS
MonitorTrack performance, errors, uptimePrometheus, Grafana

DevOps vs Traditional IT

AspectTraditional ITDevOps
Release cadenceMonthsHours or days
TeamsSiloedCollaborative, cross-functional
DeploymentsManual, riskyAutomated, frequent, safe
Feedback loopSlow (weeks)Fast (minutes)
Failure handlingBlame cultureBlameless post-mortems

Key Metrics (DORA Metrics)

These four metrics from the DORA research program measure DevOps performance:

  1. Deployment Frequency β€” How often you ship to production
  2. Lead Time for Changes β€” Time from code commit to production
  3. Change Failure Rate β€” Percentage of deployments causing incidents
  4. Mean Time to Restore (MTTR) β€” How fast you recover from failures

Elite teams deploy multiple times per day with a change failure rate under 5%.


What’s Next?

In the following notes we’ll cover the practical tools and concepts:

  • Version control with Git
  • CI/CD pipelines
  • Containerization with Docker
  • Orchestration with Kubernetes
  • Infrastructure as Code (IaC)
  • Monitoring and observability